# 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 +\langle C, \, 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.

For commercial applications that may be incompatible with this license, please contact the authors to discuss alternatives.

• 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.