James Anderson – software

Department of Electrical Engineering, Columbia University

Some software I have contributed to and help maintain.


A python toolbox written by Vandan Parmar and James Anderson for formulating and solving distributed control problems in the System Level Synthesis framework. Coming soon…


SOSTOOLS is a free MATLAB toolbox for formulating and solving polynomial optimization programs by searching for a sum-of-squares decompostion of a multivariate polynomial. A sum-of-squares decomposition can be computed by solving a semidefinite program (SDP); SOSTOOLS interfaces with a variety of SDP solvers including SeDuMi, CSDP, SDPT3, SDPNAL, SDPNAL+, and SDPA.

  • Get SOSTOOLS here

  • SOSTOOLS user's guide with examples here

SOSTOOLS add ons

The following are some patches and add-ons that enhance the functionality of SOSTOOLS:


A plug-in for SOSTOOLS for the formulation of optimization prob- lems with constraints of the form of one-dimensional integral inequalities.

  • Get INTSOSTOOLS here

  • Read the paper by Giorgio Valmorbida and Antonis Papachristodoulou here

A facial reduction algorithm by Frank Permenter for the SDPs that arise from sum-of-squares programming. Interfaces with SOSTOOLS (see Section 5.2 of the SOSTOOLS Users Guide).

SOSTOOLS authors:

  • Antonis Papachristodoulou (Oxford)

  • James Anderson (Caltech)

  • Giorgio Valmorbida (CentraleSuplec)

  • Stephen Prajna

  • Peter Seiler (university of Minnesota)

  • Pablo Parrilo (MIT)