[SciPy-user] Semidefinite programming in scipy ?

Zhiwen Chong zhiwen.chong at elf.mcgill.ca
Mon Jul 4 10:39:32 CDT 2005

Hi Nils,

On 4-Jul-05, at 9:53 AM, Nils Wagner wrote:
> Is it possible to solve semidefinite programs with scipy ?
> minimize t
> subject to t I -A(x) \ge 0
> with variables x \in R^k and t \in R. A(x) depends affinely on x  
> and I denotes the identity.
> Reference:
> Vandenberghe, L., Boyd, S.
> Semidefinite Programming
> SIAM Review 38 1996 pp. 49-95

This probably doesn't answer your question, but might give you some  

My project involves extensive use of large-scale optimization, and  
what I did was to write a meta-language (using the pyparsing module)  
to generate AMPL code from a simpler syntax describing my problem.  
AMPL in turn generates a stub for any number of high performance  
solvers that support it. By taking this approach, my NLP isn't tied  
to any single solver, and I will have the freedom to try different  
solvers if I should need to in the future. (though I am currently  
using IPOPT exclusively, available for free at http://www.coin-or.org/ 

The only snag is that AMPL is not free, but it really is a very good  
mathematical programming language, and academic licenses are fairly  
inexpensive. If your problem is very complicated or very large, it is  
usually much easier to write it in a dedicated mathematical  
programming language than a general purpose one.

For SDPs in particular, you may want to look at PENNON.

It uses the SDPA input file -- perhaps it is possible to write some  
code in Python to generate one of these chappies?

Zhiwen Chong
McMaster Advanced Control Consortium
Dept. of Chemical Engineering
McMaster University
Hamilton ON  L8S 4L7
Tel:   (905) 525-9140  Ext. 22008
FAX: (905) 521-1350

More information about the SciPy-user mailing list