SDPNAL+ version 0.5 (beta)  a MATLAB software for
semidefinite programming with bound constraints.
Authors:
Defeng Sun,
KimChuan Toh,
and
Xinyuan Zhao.
Past contributors: Liuqin Yang.
The software is designed to solve primal SDP
of the form:
\(
\begin{array}{ll}
\min & \langle C_1,X_1\rangle + ... + \langle C_N,X_N\rangle
\\[3pt]
{\rm s.t.} & {\cal A}_1(X_1) + ... + {\cal A}_N(X_N) = b,
\\[3pt]
& l\leq {\cal B}_1(X_1) + ... + {\cal B}_N(X_N) \leq u,
\\[3pt]
& X_k \succeq 0,\,
L_k \leq X_k \leq U_k,\; k=1,...,N
\end{array}
\)
where \(X_k\) are either symmetric matrices or column vectors.
Linear inequality constraints are also allowed; for details, see the users' guide in the package.
Important note:
 The current beta version is still under development. Thus it will
invariably be buggy. We would appreciate your feedback and bugs' report
to the
corresponding author:
KimChuan Toh, email: mattohkc@nus.edu.sg.

This is a research software. It is not intended nor designed to be a general
purpose software at the moment.
The solver is expected to be robust if the primal and dual SDPs are
both nondegenerate at the optimal solutions. However, if either of
one of them is degenerate, then the solver may not be able to
solve the SDPs to high accuracy.

This software package is designed for solving
standard SDP problems with
\(\max\{n_1,...,n_N\}\) (\(n_k\)=dimension of matrix variable \(X_k\))
up to 5000. The number of linear equality constraints (dimension of b)
can be large. In our numerical experiments, we have successfully
solved SDPs with m > 10 millions.
Detailed computational results for over 500 problems tested in the following papers.
Citation:
 L.Q. Yang, D.F. Sun, and K.C. Toh,
SDPNAL+: a majorized semismooth NewtonCG augmented Lagrangian
method for semidefinite programming with nonnegative constraints,
Mathemtical Programming Computation, 7 (2015), pp. 331366.
arXiv:1406.0942.
Detailed computational results for over 500 problems tested in the paper
.
 Xinyuan Zhao, Defeng Sun, and KimChuan Toh,
A NewtonCG Augmented Lagrangian Method for Semidefinite Programming,
SIAM J. Optimization, 20 (2010), pp. 17371765.
Copyright:
This version of SDPNAL+ 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.
SDPNAL+ is designed with the same data structure as in SDPT3, thus
if you are familiar with SDPT3, then you can code the SDP data of your
problem as you would for SDPT3.
Download SDPNAL+v0.5.zip.
User's guide is included in the package.
Please read.
Welcome to SDPNAL+!
The software requires a few Mex files for execution.
You can generate (only need to be done once)
these Mex files
as follows:
 Firstly, unpack the software:
unzip SDPNAL+v0.5.zip
 Run Matlab in the directory SDPNAL+v0.5
 In the Matlab command window, type:
>> Installmex_SDPNALplus
or
>> Installmex_SDPNALplus(1) (to recompile all Mex files)
This step only needs to be done once.
 After that, to see whether you have installed SDPNAL+v0.5 correctly,
type:
>> startup
>> SDPNALplusDemo
 By now, SDPNAL+ is ready for you to use.
Bugs corrected
 2016/07/18: Fixed incompatible mex command for Mac OS.
 2016/06/20: Fixed mexfunctions incompatibility with Matlab 2016.
 2016/06/20: Allows a linear system of equations of the form
\({\cal A}{\cal A}^* y = h\), where \({\cal A} = \sum_{i=1}^N {\cal A}_i\), to be solved by a diagonally
preconditioned iterative solver.
 2016/04/07: Corrected the output format to be the same as that
of the SDPT3 format.