New features in SeDuMi 1.1 since 1.05R5

20041103 Feature: pars.stopat can now be a vector. The algorithm enters debug mode at each iteration specified in pars.stopat. The order does not matter, invalid values are ignored.

20041111 Fix: Cleaned up the code with M-Lint. All unused variables and never used assignments are removed. All | and & are replaced with || and && whenever it was possible. This speeds up conditional statements in the preprocessing phase. Unused .m and .c files are removed from the distribution.

20041129 Feature: Timing is changed. So far SeDuMi reported the CPU time spent in the main IPM loop. Now info.timing is a vector containing the time spent in the preprocessing, IPM and postprocessing, respectively. The old info.cpusec contains the total time of the algorithm. This does not make much difference now, since 99% of the time is spent in the IPM loop, but if more stuff is added to the pre- and postprocessing, this can be an issue.

20041129 Fix: Many if-then statements checking for data validity in the C code were replaced by mxAssert statements. The only exceptions are memory failure checks.

20040103 Fix: Fixed a small bug in wregion.m concerning division by zero. (Johan Lofberg)

20050110 Fix: A small change in Amul.m resulted in drastic speed improvement for middle-sized problems. Additionally, sum(c.*x) is much faster than c'*x if c and x are sparse. The moral is that taking the transpose of a sparse matrix is slow.

20050110 Fix: blkchol is now invoked directly from SeDuMi.m without sparchol.

20050110 Fix: Minor speed improvement in popK.m.

20050120 Fix: Minor speed improvement in the sdmaux* files (loop unrolling).

20050202 Feature: If pars.errors=1 then SeDuMi outputs the six errors measures defined in the 7th DIMACS challenge
paper that is available at http://plato.asu.edu/dimacs/node3.html. These are in info.err1, ...info.err6.

20050302 Fix: New default values. pars.eps=1e-8, pars.stepdif=2, pars.cg.qprec=1.

20050302 Feature: Preprocessing routines are now included. Diagonal SDP bolcks are converted into nonnegative variables. Free variables are handled in a quadratic cone, split free veriables are detected in the linear part. The sparsity structure of A is corrected at the end of preprocessing.

20050302 Feature: New options to control preprocessing: pars.free, pars.sdp

20050302 Feature: Included a simple heuristic to turn step-differentiation on/off.

20050302 Fix: If ADA is actually dense then the symbolic Cholesky factorization and the minimum degree ordering are not performed. Also in this case SYMBADA is created directly as a fully dense matrix of ones stored as sparse.

20050302 Fix: The 'See also' references at the end of the help portions are now clickable.

20050510 Feature: The binaries are now built from Matlab, see Install.txt for details.

20050610 Fix: && and || were replaced by & and | to make the package compatible with Matlab 6.0 (R12)

20050621 Fix: A bug about complex variables has been reported by Michael C. Grant, the correct version is now available.

20050622 Fix: A bug about free variable handling has been reported by Johan Löfberg, the fixed version is now posted.

20060712 Fix: A bug was discovered by Paul Tseng when using free variables together with rotated Lorentz cones.

20061010 Fix: The solutions were incorrect if the error measures were turned on.

20061010 Fix: Matlab R2006B does not support fprintf with fid=0, (i.e., no output). a Workaround is provided. (Thanks to Johan Löfberg)

20061010 Fix: The semidefinite preprocessing assumed that there are no free variables.

20061010 Fix: Michael Grant corrected a bug in the postprocessing phase.

20061010 Fix: A new, completely rewritten SDPA format reader is provided in the conversion folder. It is fast and it follows the SDPA standard.