[SciPy-user] openopt vs. cvxopt, 'f' vs. 'd','z'
Wed Jan 30 01:31:29 CST 2008
I think the bug has been fixed in newer versions of CVXOPT.
A new version will be released soon, which will hopefully solve
some of the problems you experienced with the QP solver.
On Jan 29, 2008 11:14 PM, Mclean Edwards <email@example.com> wrote:
> There is indeed a problem with cvxopt matrices interfacing with numpy in
> Here is example code:
> from cvxopt.base import matrix
> import numpy
> a = matrix([2,3,4])
> b = numpy.asarray(a)
> c = matrix(b)
> The last statement (c) returns an 'array not contiguous' error.
> Changing line (b) to
> b = numpy.asarray(a, order='C')
> #(specifies order as contiguous)
> b = numpy.array(a)
> #(copies the array instead of leaving it be)
> results in no such error.
> On Tue, 29 Jan 2008, Joachim Dahl wrote:
> > There might be bugs in the Scipy Array Interface in CVXOPT. If you
> > across dubious behaviour and believe CVXOPT is to blame, we will
> > appreciate feedback and small code snippets to reproduce the error.
> > CVXOPT is never supposed to crash, so it sounds like you found a
> > significant
> > bug.
> > Best regards
> > joachim
> > On Jan 29, 2008 8:56 AM, Mclean Edwards <firstname.lastname@example.org> wrote:
> >> An additional note or two:
> >> The problem with 'array not contiguous' happens because I call the
> >> solver through openopt with a cvxopt matrix instead of an array.
> >> Casting the cvxopt.matrix as an array beforehand works with the
> >> 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
> >> 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
> >> 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
> >> _______________________________________________
> >> SciPy-user mailing list
> >> SciPyemail@example.com
> >> http://projects.scipy.org/mailman/listinfo/scipy-user
> SciPy-user mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-user