ROPTLIB: An Object-Oriented C plus plus Library for Optimization on Riemannian Manifolds

被引:29
|
作者
Huang, Wen [1 ]
Absil, P-A [2 ]
Gallivan, Kyle A. [3 ]
Hand, Paul [1 ]
机构
[1] Rice Univ, Dept Computat & Appl Math, 6100 Main St,MS 134, Houston, TX 77005 USA
[2] Univ Louvain, ICTEAM Inst, Batiment Euler P13, B-1348 Louvain La Neuve, Belgium
[3] Florida State Univ, Dept Math, 208 Love Bldg,1017 Acad Way, Tallahassee, FL 32306 USA
来源
关键词
Riemannian optimization; non-convex optimization; orthogonal constraints; symmetric positive definite matrices; low-rank matrices; Matlab interface; Julia interface; UNITARY MATRIX CONSTRAINT; STEEPEST DESCENT; COMPLETION; REPRESENTATION; ALGORITHMS; FRAMEWORK;
D O I
10.1145/3218822
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Riemannian optimization is the task of finding an optimum of a real-valued function defined on a Riemannian manifold. Riemannian optimization has been a topic of much interest over the past few years due to many applications including computer vision, signal processing, and numerical linear algebra. The substantial background required to successfully design and apply Riemannian optimization algorithms is a significant impediment for many potential users. Therefore, multiple packages, such as Manopt (in Matlab) and Pymanopt (in Python), have been developed. This article describes ROPTLIB, a C++ library for Riemannian optimization. Unlike prior packages, ROPTLIB simultaneously achieves the following goals: (i) it has user-friendly interfaces in Matlab, Julia, and C++; (ii) users do not need to implement manifold-and algorithm-related objects; (iii) it provides efficient computational time due to its C++ core; (iv) it implements state-of-the-art generic Riemannian optimization algorithms, including quasi-Newton algorithms; and (v) it is based on object-oriented programming, allowing users to rapidly add new algorithms and manifolds.
引用
收藏
页数:21
相关论文
共 50 条