SDPNAL+ version 1.0  a MATLAB software for
semidefinite programming with bound constraints.
Authors:
Defeng Sun,
KimChuan Toh,
Yancheng Yuan, 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 software 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
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 (computed in Dec 2017) 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.
 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+v1.0.zip.
User's guide is included in the package. It is also available at
arXiv:1710.10604.
Please read.
Welcome to SDPNAL+!
The software requires a few Mex files for execution.
They are provided for Windows 64, Linux and Mac.
 Firstly, unpack the software:
unzip SDPNAL+v1.0.zip
 Run Matlab in the directory SDPNAL+v1.0
 After that, to see whether you have installed SDPNAL+v1.0 correctly,
type:
>> startup
>> SDPNALplus_Demo
 By now, SDPNAL+ is ready for you to use.
Updates
 2017/10/18: Included a basic userfriendly interface.
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} = [{\cal A}_1,\ldots,{\cal A}_N]\), 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.