This is a software package for solving the standard SDP:
where , and are given data, and is the variable, possibly complex. Here denotes the space of hermitian matrices, denotes the inner product , and means that X is positive semidefinite. We assume that the set is linearly independent. (If this set is nearly dependent, transformation to a better-conditioned basis may be advisable for numerical stability.) The software also solves the dual problem associated with (P):
where and are the variables.
This package is written in MATLAB version 5.0. It is available from the internet site:
http://www.math.nus.sg/~mattohkc/index.html
The purpose of this software package is to provide researchers in SDP with a collection of reasonably efficient algorithms that can solve general SDPs with matrices of dimensions of the order of a hundred. If your problem is large-scale, you should probably use an implementation that exploits problem structure. The only structure we exploit in this package is block-diagonal structure, where MATLAB cell arrays are used to handle dense and sparse blocks separately. For the purpose of evaluating the performance of algorithms proposed by other authors, we also include a few classes of SDP problems in this software package.
A special feature that distinguishes this SDP software from others (e.g., [3],[4],[5],[10]) is that complex data are allowed. But note that b and y must be real. Another special feature, though also shared by the software of [5], of our package is that the sparsity of matrices is exploited in the computation of the Schur complement matrix required at each iteration of our SDP algorithms.
Part of the codes for real symmetric matrices is originally based on those by Alizadeh, Haeberly, and Overton, whose help we gratefully acknowledge.