QSDPNAL

QSDPNAL — a MATLAB software for convex quadratic semidefinite programming

Xudong Li, Defeng Sun, Kim-Chuan Toh

This software is designed to solve primal convex quadratic semidefinite programming (QSDP) of the form:

\(\begin{eqnarray*}
\begin{array}{rl}
\min&\frac{1}{2}\langle X,\, \mathcal{Q}X \rangle
\\[5pt]
{\rm s.t.}&{\cal A}_E(X)=b_E
\\[5pt]
&\mathcal{A}_I (X) \leq b_I
\\[5pt]
& X \in \mathbb{S}^n, \, X\in \mathcal{K}
\end{array}
\end{eqnarray*}
\)

where \(\mathcal{Q}: \mathbb{S}^n \rightarrow \mathbb{S}^n\) is a self-adjoint positive semidefinite linear operator, \(\mathcal{A}_E : \mathbb{S}^n\rightarrow \mathbb{R}^{m_E}\), \(\mathcal{A}_I : \mathbb{S}^n\rightarrow \mathbb{R}^{m_I}\) are linear maps, \(C\in \mathbb{S}^n\), \(b_E\in \mathbb{R}^{m_E}\), \(b_I\in \mathbb{R}^{m_I}\) are given data, \(\mathcal{K}\) is a simple closed convex polyhedral set defined by  \(\mathcal{K}=\{X\in\mathbb{S}^n \mid L\leq X\leq U\}\) with \(L,U\in\mathbb{S}^n\) being given bounds.


Important note.

  • The software is still under development. Thus it will invariably be buggy. We would appreciate your feedback and bugs’ report.
  • This is a research software. It is not intended nor designed to be a general purpose software at the moment.

Citation
  • Xudong Li, Defeng Sun, and Kim-Chuan Toh, QSDPNAL: A two-phase augmented Lagrangian method for convex quadratic semidefinite programming, Mathematical Programming Computation, 10 (2018), pp. 703–743.

Copyright. This version of QSDPNAL is distributed under the 3-Clause BSD license.
For commercial applications that may be incompatible with this license, please contact the authors to discuss alternatives.


  • Download here: QSDPNAL.zp
    • unzip the package
    • Run Matlab in the directory QSDPNAL
    • After that, to see whether you have installed the software correctly, type
      >> qsdpdemo
    • By now, the software is ready for you to use.
    • The users’ guide is included in the Appendix of our paper.