[SciPy-user] scipy and cvxopt

Travis Oliphant oliphant@ee.byu....
Thu Mar 1 11:34:01 CST 2007


Joachim Dahl wrote:

>
>
> On 2/28/07, *Travis Oliphant* <oliphant@ee.byu.edu 
> <mailto:oliphant@ee.byu.edu>> wrote:
>
>     Emin.shopper Martinian.shopper wrote:
>
>     > Dear Experts,
>     >
>     > I need to solve some quadratic programs (and potentially other
>     > nonlinear programs). While scipy.optimize.fmin_cobyla seems like it
>     > can do this, it seems orders of magnitude slower than cvxopt. Are
>     > there plans to merge/include cvxopt in scipy or otherwise improve
>     > scipy's quadratic/nonlinear constrained optimization routines?
>
>
>     Yes, eventually.  I have talked to the author of CVXOPT at NIPS 2006.
>     The plan is to move NumPy's matrix object into C and move CVXOPTs
>     implementation over to use it, possibly integrating the cvxopt
>     algorithms into at least a scikits library (of GPL code). 
>
>
> That would be great!  We're considering different a license also.
>
> Porting CVXOPT to Numpy/Scipy would require sparse matrices also - 
> preferably
> implemented so that there's not much difference between dense and 
> sparse matrices from the user's perspective.  The sparse matrix class 
> in SciPy looks nice,  but it appears to
> "behave" different from a dense matrix wrt. to indexing, assignments, 
> creation etc;
> although it's not essential, it would make a CVXOPT port easier if 
> some of the differences between dense and sparse matrices were also 
> ironed out when Travis revamps the
> Numpy matrix object.

I'd like to move a the Sparse matrix representation into NumPy as well 
at that time.  We will need some discussion on what exactly to move over 
and how that is to be done.    There are some differences in indexing 
that CVXOPT uses for its matrix classes that we will need to discuss how 
to handle.  For example, we could construct a separate matrix subclass 
with the CVXOPT-style indexing.  I think it would be easier to just have 
one style of indexing, though and just make sure that sparse matrices 
also handle that style.

The most important thing to me, though, is to expose more users to the 
great work that CVXOPT has done and integrate that work into the larger 
NumPy/SciPy world.

-Travis





More information about the SciPy-user mailing list