sqp() breaks with -inf inequality bounds

View: New views
2 Messages — Rating Filter:   Alert me  

sqp() breaks with -inf inequality bounds

by Joshua Redstone :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
I think there is a bug in sqp() in 3.0.1 (and perhaps earlier revisions) in the way it handles the vector 'lambda' returned from qp().
Concretely, the removal of entries from C at sqp.m:392 corresponding to -inf inequality bounds is inconsistent with the computation of C_new at sqp.m:416.
The C calculated at 392 has the bounds removed, while C_new does not.  This causes the multiplication by lambda at line 455 to error out due to nonformant arguements
because the size of lambda (reflecting the removed entries) does not match the matrix A (derived from C_new)......
Josh

_______________________________________________
Bug-octave mailing list
Bug-octave@...
https://www.cae.wisc.edu/mailman/listinfo/bug-octave

Re: sqp() breaks with -inf inequality bounds

by Rishi Amrit :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Joshua Redstone wrote:
Hi,I think there is a bug in sqp() in 3.0.1 (and perhaps earlier revisions)
in the way it handles the vector 'lambda' returned from qp().
Concretely, the removal of entries from C at sqp.m:392 corresponding to -inf
inequality bounds is inconsistent with the computation of C_new at
sqp.m:416.
The C calculated at 392 has the bounds removed, while C_new does not.  This
causes the multiplication by lambda at line 455 to error out due to
nonformant arguements
because the size of lambda (reflecting the removed entries) does not match
the matrix A (derived from C_new)......

I second this. If we have -inf lower bounds, the line 392 of sqp, rows of D and c matrices (the inequality constraints being fed to the qp) are removed corresponding to -inf lower bounds. But then matrix multiplication (A_new - A)*lambda in line 428 fails because lambda is of reduced size and A_new and A have not been modified.

If I comment the row removal in line 392, even then the lambda returned by qp is of reduced length (which is a little surprizing again) and causes the same nonconformant dimensions error.


Rishi