STOP – a toolbox for STiefel manifold OPtimizationSTOP is a toolbox developed for solving the optimization problems with orthogonality constraints. \[ \begin{equation*} \begin{aligned} \min\limits_{X \in \mathbb{R}^{n \times p}} \hspace{2mm} & f (X) \\ \mathrm{s.t.} \hspace{3.5mm} & X \in \mathcal{S}_{n, p} := \{X \in \mathbb{R}^{n \times p} \mid X^{\top} X = I_p\}. \end{aligned} \end{equation*} \] Here, \(f(X): \mathbb{R}^{n \times p} \to \mathbb{R}\) is an objective function, and the feasible set \(\mathcal{S}_{n, p}\) is usually referred to as the Stiefel manifold. There are two categories of solvers in STOP, including feasible methods and infeasible methods. Distinct from Riemannian optimization algorithms, STOP captures the special structures of Stiefel manifolds, and hence can achieve high efficiency. Unless otherwise specified, for a smooth function \(g(X)\), \(\nabla g(X)\) and \(\nabla^2 g(X)\) stand for the Euclidean gradient and Hessian in STOP, respectively. The STOP toolbox can be downloaded from Gitee or this link.
The Python version of STOP (PySTOP) is available on Gitee and PyPI (Users’ Guide). Feasible MethodsSTOP provides a class of feasible methods, called multipliers correction methods. Multipliers correction methods aim to minimize a smooth function \(f(X)\) over the Stiefel manifold, which combine a function value reduction step with a correction step. The former one searches along the standard Euclidean descent directions instead of the vectors in the tangent space of \(\mathcal{S}_{n, p}\), and the latter one further reduces the function value and guarantees a symmetric dual variable at the same time.
\(f (X) = h (X) + \mathrm{tr} (G^{\top} X)\).
Infeasible MethodsThe orthonormalization process has low parallel scalability. With the increasing of \(p\), a bottleneck of feasible algorithms emerges, that is, lack of concurrency. To address this issue, STOP provides a class of infeasible methods to waive the orthonormalization process. Hence, parallelization becomes tractable in solving the optimization problems over the Stiefel manifold.
ReferencesIf you use these codes in an academic paper, please cite the following papers.
AuthorsSTOP is developed by the following authors listed in alphabetical order in the State Key Laboratory of Scientific and Engineering Computing, Institute of Computational Mathematics and Scientific/Engineering Computing, Academy of Mathematics and Systems Science, Chinese Academy of Sciences. To Contact UsIf you have any questions or find any bugs, please feel free to contact us by email (stmopt@foxmail.com). In oreder to help you use STOP, we are happy to receive feedbacks, bug reports and requests for more features, and to discuss the toolbox as well as its documentation. We would also like to know how you use the toolbox. LicenseSTOP is a free software. You can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. STOP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please see the GNU Lesser General Public License for more details. |