SDPT3 version 4.0  a MATLAB software for
semidefinitequadraticlinear programming
The last major update on the software was
in Feb 2009.
It implemented an infeasible pathfollowing algorithm (sqlp.m)
for solving SQLP  conic optimization problems involving
semidefinite, secondorder and linear cone constraints.
Note: though this software is fairly well tested, but minor
refinement or fix may still be needed from time to time.
New features that SDPT3 can now handle:
** free variables;
** determinant maximization problems;
** SDP with complex data;
** Matlab 7.3 on 64bit machine;
** 3parameter homogeneous selfdual model of SQLP (in HSDsqlp.m);
Citation:
 K.C. Toh, M.J. Todd, and R.H. Tutuncu,
SDPT3  a Matlab software package for semidefinite programming,
Optimization Methods and Software, 11 (1999), pp. 545581.
 R.H Tutuncu, K.C. Toh, and M.J. Todd,
Solving semidefinitequadraticlinear programs using SDPT3,
Mathematical Programming Ser. B, 95 (2003), pp. 189217.
 Copyright:
This version of SDPT3 is distributed under the GNU General Public License 2.0.
For commercial applications that may be incompatible with this license,
please contact the authors to discuss alternatives.
 SDPT3 is currently used as one of the main computational
engines in optimization modeling
languages such as CVX and
YALMIP.
 Download SDPT34.0.zip
Please read.
Welcome to SDPT34.0!
The software is built for MATLAB version 7.4 or later releases, it may not work for
earlier versions.
The software requires a few Mex files for execution.
The package comes with precompiled Mex files having the following
extensions:
*.mexa64
*.mexglx
*.mexmaci
*.mexmaci64
*.mexw32
*.mexw64.
For Matlab running on other platforms,
you can generate the Mex files
as follows:
 Firstly, unpack the software:
unzip SDPT34.0.zip;
 Run Matlab in the directory SDPT34.0
 In Matlab command window, type:
>> Installmex(1) (skip this step if you don't
have to generate the Mex files)
 After that, to see whether you have installed SDPT3 correctly,
type:
>> startup
>> sqlpdemo
 By now, SDPT3 is ready for you to use.
 User's guide
(pdf) (Draft)

The following example shows how SDPT3 call a data file that is
stored in SDPA format:
>> [blk,At,C,b] = read_sdpa('./sdplib/theta3.dats');
>> [obj,X,y,Z] = sqlp(blk,At,C,b);
The following example shows how SDPT3 call a data file that is
stored in SeDuMi format:
>> [blk,At,C,b] = read_sedumi(AA,bb,cc,K); or
[blk,At,C,b] = read_sedumi('./dimacs/hamming_7_5_6.mat');
>> [obj,X,y,Z] = sqlp(blk,At,C,b);
 Simple examples to illustrate
the usage of the software
 Special thanks go to
Hans Mittelmann
for his effort in benchmarking several SDP software packages on the following
test problems:
benchmark
on SDPLIB problem set;
benchmark
on DIMACS problem set;
benchmark
on some large sparse SDPs;
benchmark
on SDPs with free variables;
benchmark
on SOCP problems generated with the Matlab FIR toolbox.
Acknowledgements:
We thank those who had made suggestions and
reported bugs to make SDPT3 better.
In particular, we thank Hans
Mittelmann for bugs reported while benchmarking SDPT3.
We also thank Johan Lofberg and Didier Henrion for
bug reports while incorporating SDPT3 into YALMIP and
GloptiPoly, respectively. Thanks also go to Michael Grant for bug
reports while testing SDPT3 as an engine for CVX.