# Software

Our GitHub page is available at: https://github.com/unc-optimization

#### PAPA – Proximal Alternating Penalty Algorithms

• PAPA-v1.0 is a MATLAB software package for solving constrained convex optimization problems of the form:
$\begin{array}{ll} \displaystyle\min_{\mathbf{x}\in\mathbf{R}^p, \mathbf{y}\in\mathbb{R}^n} & f(\mathbf{x},\mathbf{y}) = g(\mathbf{x}) +h(\mathbf{y}) \\ \text{s.t.} & -\mathbf{x}+\mathbf{B}\mathbf{y} \in\mathcal{K}, \end{array}$

where $g$ and $h$ are two convex functions, $\mathbf{B}\in\mathbb{R}^{n\times p}$, $\mathcal{K}$ is a simple, nonempty, closed, and convex set in $\mathbb{R}^n$.
Here, we assume that $g$ and $h$ are proximally tractable, i.e., the proximal operators $\mathrm{prox}_{g}$ and $\mathrm{prox}_h$ are efficient to compute (see below).

PAPA aims at solving constrained convex optimization problem for any convex functions $g$ and $h$, where their proximal operator is provided.
PAPA is developed by Quoc Tran-Dinh at the Department of Statistics and Operations Research, University of North Carolina at Chapel Hill (UNC), North Carolina.

• References: The theory and algorithms implemented in PAPA can be found in:
1. Q. Tran Dinh: Proximal Alternating Penalty Algorithms for Nonsmooth Constrained Convex Optimization, Manuscript, STOR-UNC, Nov., 2017. (preprint: https://arxiv.org/pdf/1711.01367.pdf).

#### LMAOPT – Low-Rank Matrix Approximation Optimization

• LMAOPT-v1.0 is a MATLAB code collection for solving three special cases of the following low-rank matrix optimization problem:
$\Phi^{\star} := \displaystyle\min_{U\in\mathbf{R}^{m\times r}, V\in\mathbb{R}^{n\times r}}\Big\{ \Phi(U,V) := \phi(\mathcal{A}(UV^T) - B) \Big\},$

where $\phi$ is a proper, closed and convex function from $\mathbb{R}^l\to\mathbb{R}\cup\{+\infty\}$, $\mathcal{A}$ is a linear operator from $\mathbb{R}^{m\times n}$ to $\mathbb{R}^l$, and $B\in\mathbb{R}^l$ is a given observed vector. Here, we are more interested in the case $r \ll \min\{m, n\}$. Currently, we provide the code to solve three special cases of the above problem:

1. Quadratic loss: $\phi(\cdot) = \frac{1}{2}\Vert\cdot\Vert_2^2$;
2. Quadratic loss and symmetric case: $\phi(\cdot) = \frac{1}{2}\Vert\cdot\Vert_2^2$ and $U = V$; and
3. Nonsmooth objective loss with tractably proximal operators: For instance, $\phi(\cdot) = \Vert\cdot\Vert_1$.
• LMAOPT is implemented by Quoc Tran-Dinh at the Department of Statistics and Operations Research (STAT&OR), The University of North Carolina at Chapel Hill (UNC). This is a joint work with Zheqi Zhang at STAT & OR, UNC.
• References: The theory and algorithms implemented in LMAOPT can be found in the following manuscript: Q. Tran-Dinh, and Z. Zhang: Extended Gauss-Newton and Gauss-Newton ADMM algorithms for low-rank matrix optimizationSTAT&OR Tech. Report UNC-REPORT-2016.a, (2016). Preprint: http://arxiv.org/abs/1606.03358

#### Useful Software Tools in Optimization

These opensource and academic free-of-charge software tools are very useful for research in optimization: