[SciPy-user] openopt vs. cvxopt, 'f' vs. 'd','z'

Mclean Edwards mcleane at math.ubc.ca
Tue Jan 29 02:56:16 EST 2008


An additional note or two:

The problem with 'array not contiguous' happens because I call the cvxopt 
solver through openopt with a cvxopt matrix instead of an array.

Casting the cvxopt.matrix as an array beforehand works with the original 
openopt code.

Comparing the results between order='C' and cvxopt matrices
and simply deleting the 'float' requirement, but using numpy arrays,
the results appear to be identical.

This would suggest that making the change is an improvement to the code.

However, I am not getting identical results between calling cvxopt 
directly and calling cvxopt through openopt.

I have not yet been able to track down the difference, although on 
inspection calling cvxopt through openopt is about 5x slower, and provides 
worse results.

(I'm using QP as a subfunction to another algorithm and 
the appoximate answers using openopt appear to be worse than calling 
cvxopt directly.)

The differences do not stem from using double.
(I converted to float for cvxopt direct use, and there is no perceptual 
change in my graphs.)

-Mclean



More information about the SciPy-User mailing list