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 条
  • [1] Cosmo plus plus : An object-oriented C plus plus library for cosmology
    Aslanyan, Grigor
    COMPUTER PHYSICS COMMUNICATIONS, 2014, 185 (12) : 3215 - 3227
  • [2] OBJECT-ORIENTED CLASS LIBRARY FOR C plus plus PROGRAMS.
    Gorlen, Keith E.
    Software - Practice and Experience, 1987, 17 (12) : 899 - 922
  • [3] Veamy: an extensible object-oriented C plus plus library for the virtual element method
    Ortiz-Bernardin, A.
    Alvarez, C.
    Hitschfeld-Kahler, N.
    Russo, A.
    Silva-Valenzuela, R.
    Olate-Sanzana, E.
    NUMERICAL ALGORITHMS, 2019, 82 (04) : 1189 - 1220
  • [4] Object-Oriented OpenMP Programming with C plus plus and Fortran
    Terboven, Christian
    Mey, Dieter An
    Kapinos, Paul
    Schleiden, Christopher
    Merkulow, Igor
    HIGH PERFORMANCE COMPUTING SYSTEMS AND APPLICATIONS, 2010, 5976 : 366 - 377
  • [5] Class mutation operators for C plus plus object-oriented systems
    Delgado-Perez, Pedro
    Medina-Bulo, Inmaculada
    Jose Dominguez-Jimenez, Juan
    Garcia-Dominguez, Antonio
    Palomo-Lozano, Francisco
    ANNALS OF TELECOMMUNICATIONS, 2015, 70 (3-4) : 137 - 148
  • [6] LibHalfSpace: A C plus plus object-oriented library to study deformation and stress in elastic half-spaces
    Ferrari, Claudio
    Bonafede, Maurizio
    Belardinelli, Maria Elina
    COMPUTERS & GEOSCIENCES, 2016, 96 : 136 - 146
  • [7] Object-oriented Implementation of Chess Game in C plus
    Zhong, Yiran
    2018 11TH INTERNATIONAL CONFERENCE ON COMPUTER AND ELECTRICAL ENGINEERING, 2019, 1195
  • [8] A Project-based Curriculum for Teaching C plus plus Object-Oriented Programming
    Chen, Yen-Lin
    Chiang, Chuan-Yen
    Huang, Yo-Ping
    Yuan, Shyan-Ming
    2012 9TH INTERNATIONAL CONFERENCE ON UBIQUITOUS INTELLIGENCE & COMPUTING AND 9TH INTERNATIONAL CONFERENCE ON AUTONOMIC & TRUSTED COMPUTING (UIC/ATC), 2012, : 667 - 672
  • [9] Object-oriented C plus plus boundary element solution of the vector Laplace equation
    Ingber, J. A.
    BOUNDARY ELEMENTS AND OTHER MESH REDUCTION METHODS XXXII, BEM/MRM 2010, 2010, : 295 - 303
  • [10] Exploration on Teaching Reform of C plus plus Object-Oriented Programming in Medical Informatics
    Guo, Zhenghong
    2016 5TH INTERNATIONAL CONFERENCE ON EDUCATION AND EDUCATION MANAGEMENT (EEM 2016), 2016, 92 : 19 - 22