[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