{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,21]],"date-time":"2026-01-21T07:51:21Z","timestamp":1768981881430,"version":"3.49.0"},"reference-count":52,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2018,7,31]],"date-time":"2018-07-31T00:00:00Z","timestamp":1532995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Interuniversity Attraction Poles Programme initiated"},{"DOI":"10.13039\/501100002749","name":"Belgian Science Policy Office","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100002749","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100002661","name":"FNRS","doi-asserted-by":"crossref","award":["PDR T.0173.13"],"award-info":[{"award-number":["PDR T.0173.13"]}],"id":[{"id":"10.13039\/501100002661","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2018,12,31]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/3218822","type":"journal-article","created":{"date-parts":[[2018,7,31]],"date-time":"2018-07-31T15:56:23Z","timestamp":1533052583000},"page":"1-21","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":27,"title":["ROPTLIB"],"prefix":"10.1145","volume":"44","author":[{"given":"Wen","family":"Huang","sequence":"first","affiliation":[{"name":"Rice University, Houston, TX"}]},{"given":"P.-A.","family":"Absil","sequence":"additional","affiliation":[{"name":"University of Louvain, Louvain-la-Neuve, Belgium"}]},{"given":"Kyle A.","family":"Gallivan","sequence":"additional","affiliation":[{"name":"Florida State University, Tallahassee, USA"}]},{"given":"Paul","family":"Hand","sequence":"additional","affiliation":[{"name":"Rice University, Houston, TX"}]}],"member":"320","published-online":{"date-parts":[[2018,7,31]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSP.2007.908999"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.sigpro.2009.03.015"},{"key":"e_1_2_1_3_1","volume-title":"Matlab codes for optimization under unitary matrix constraint. Retrieved","author":"Abrudan T. E.","year":"2016"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/3115489.3115871"},{"key":"e_1_2_1_6_1","doi-asserted-by":"crossref","unstructured":"P.-A. Absil R. Mahony and R. Sepulchre. 2008. Optimization Algorithms on Matrix Manifolds. Princeton University Press Princeton NJ. http:\/\/sites.uclouvain.be\/absil\/amsbook\/.   P.-A. Absil R. Mahony and R. Sepulchre. 2008. Optimization Algorithms on Matrix Manifolds. Princeton University Press Princeton NJ. http:\/\/sites.uclouvain.be\/absil\/amsbook\/.","DOI":"10.1515\/9781400830244"},{"key":"e_1_2_1_7_1","unstructured":"K. P. Adragni and S. Wu. 2013. Grassmann Manifold Optimization. Retrieved July 2016 from https:\/\/cran.r-project.org\/web\/packages\/GrassmannOptim\/index.html.  K. P. Adragni and S. Wu. 2013. Grassmann Manifold Optimization. Retrieved July 2016 from https:\/\/cran.r-project.org\/web\/packages\/GrassmannOptim\/index.html."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/TMI.2007.903195"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/2627435.2638581"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1137\/15M1025153"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1137\/110848074"},{"key":"e_1_2_1_12_1","unstructured":"A. Cherian and S. Sra. 2015. Riemannian dictionary learning and sparse coding for positive definite matrices. CoRR abs\/1507.02772 (2015). http:\/\/arxiv.org\/abs\/1507.02772.  A. Cherian and S. Sra. 2015. Riemannian dictionary learning and sparse coding for positive definite matrices. CoRR abs\/1507.02772 (2015). http:\/\/arxiv.org\/abs\/1507.02772."},{"key":"e_1_2_1_13_1","unstructured":"J. E. Dennis and R. B. Schnabel. 1983. Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Springer New Jersey.   J. E. Dennis and R. B. Schnabel. 1983. Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Springer New Jersey."},{"key":"e_1_2_1_14_1","volume-title":"Retrieved","author":"Ehler M.","year":"2016"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the European Conference on Computer Vision","author":"Harandi M. T.","year":"2012"},{"key":"e_1_2_1_16_1","unstructured":"S. Hosseini Wen Huang and R. Yousefpour. 2016. Line Search Algorithms for Locally Lipschitz Functions on Riemannian Manifolds. Technical Report INS Preprint No. 1626. Institutf\u00fcr Numerische Simulation.  S. Hosseini Wen Huang and R. Yousefpour. 2016. Line Search Algorithms for Locally Lipschitz Functions on Riemannian Manifolds. Technical Report INS Preprint No. 1626. Institutf\u00fcr Numerische Simulation."},{"key":"e_1_2_1_17_1","unstructured":"S. Hosseini and S. Sra. 2014. Geometric Optimization Toolbox. Retrieved July 2016 from http:\/\/suvrit.de\/work\/soft\/gopt.html.  S. Hosseini and S. Sra. 2014. Geometric Optimization Toolbox. Retrieved July 2016 from http:\/\/suvrit.de\/work\/soft\/gopt.html."},{"key":"e_1_2_1_18_1","unstructured":"S. Hosseini and A. Uschmajew. 2016. A Riemannian gradient sampling algorithm for nonsmooth optimization on manifolds. Institut f\u00fcr Numerische Simulation INS Preprint No. 1607.  S. Hosseini and A. Uschmajew. 2016. A Riemannian gradient sampling algorithm for nonsmooth optimization on manifolds. Institut f\u00fcr Numerische Simulation INS Preprint No. 1607."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10107-014-0765-1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-39929-4_60"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00211-016-0848-4"},{"key":"e_1_2_1_23_1","volume-title":"Riemannian Manifold Optimization Library. Retrieved","author":"Huang W.","year":"2016"},{"key":"e_1_2_1_24_1","volume-title":"Riemannian Manifold Optimization Library for Reproducing Experiments. Retrieved","author":"Huang W.","year":"2016"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1137\/140955483"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10851-015-0606-8"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1137\/16M1072838"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2013.17"},{"key":"e_1_2_1_29_1","first-page":"379","article-title":"A survey and comparison of contemporary algorithms for computing the matrix geometric mean","volume":"39","author":"Jeuris B.","year":"2012","journal-title":"Electronic Transactions on Numerical Analysis"},{"key":"e_1_2_1_30_1","unstructured":"H. Kasai and B. Mishra. 2015. Riemannian preconditioning for tensor completion. Retrieved from http:\/\/arxiv.org\/abs\/1506.02159 arXiv: 1506.02159.  H. Kasai and B. Mishra. 2015. Riemannian preconditioning for tensor completion. Retrieved from http:\/\/arxiv.org\/abs\/1506.02159 arXiv: 1506.02159."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCV.2013.202"},{"key":"e_1_2_1_32_1","unstructured":"S. B. Lippman J. Lajoie and B. E. Moo. 2012. C++ Primer (5th ed.). Addison-Wesley Professional.   S. B. Lippman J. Lajoie and B. E. Moo. 2012. C++ Primer (5th ed.). Addison-Wesley Professional."},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 22nd International Symposium on Mathematical Theory of Networks and Systems. 58--64","author":"Marchand Melissa"},{"key":"e_1_2_1_34_1","volume-title":"Proc. SPIE 9823","author":"Marchand Melissa","year":"2016"},{"key":"e_1_2_1_35_1","unstructured":"S. Martin A. M. Raim W. Huang and K. P. Adragni. 2016. ManifoldOptim: An R interface to the ROPTLIB library for Riemannian manifold optimization. 1--25. http:\/\/arxiv.org\/abs\/1612.03930.  S. Martin A. M. Raim W. Huang and K. P. Adragni. 2016. ManifoldOptim: An R interface to the ROPTLIB library for Riemannian manifold optimization. 1--25. http:\/\/arxiv.org\/abs\/1612.03930."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236463.1236467"},{"key":"e_1_2_1_39_1","unstructured":"J. Nocedal and S. J. Wright. 2006. Numerical Optimization (2nd ed.). Springer.  J. Nocedal and S. J. Wright. 2006. Numerical Optimization (2nd ed.). Springer."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11263-005-3222-z"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11263-005-3222-z"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00158-011-0666-3"},{"key":"e_1_2_1_43_1","volume-title":"-A","author":"Rathore A.","year":"2015"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1137\/11082885X"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10589-015-9801-1"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1137\/120872887"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPAMI.2013.143"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00599-2_45"},{"key":"e_1_2_1_49_1","first-page":"1","article-title":"Pymanopt: A python toolbox for optimization on manifolds using automatic differentiation","volume":"17","author":"Townsend J.","year":"2016","journal-title":"Journal of Machine Learning Research"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1137\/110845768"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10107-013-0738-9"},{"key":"e_1_2_1_52_1","unstructured":"Z. Wen and W. Yin. 2012. Optimization with Orthogonality Constraints. Retrieved July 2016 from http:\/\/optman.blogs.rice.edu\/.  Z. Wen and W. Yin. 2012. Optimization with Orthogonality Constraints. Retrieved July 2016 from http:\/\/optman.blogs.rice.edu\/."},{"key":"e_1_2_1_53_1","volume-title":"Proceedings of the 2015 IEEE Global Conference on Signal and Information Processing (GlobalSIP). 727--731","author":"You Y."},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11075-015-0034-2"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2016.05.534"},{"key":"e_1_2_1_56_1","volume-title":"Technical Report FSU17-02. Florida State University. www.math.fsu.edu\/ whuang2\/papers\/RMKMSPDM.htm.","author":"Yuan Xinru","year":"2017"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3218822","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3218822","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:07:05Z","timestamp":1750212425000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3218822"}},"subtitle":["An Object-Oriented C++ Library for Optimization on Riemannian Manifolds"],"short-title":[],"issued":{"date-parts":[[2018,7,31]]},"references-count":52,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2018,12,31]]}},"alternative-id":["10.1145\/3218822"],"URL":"https:\/\/doi.org\/10.1145\/3218822","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,7,31]]},"assertion":[{"value":"2016-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-07-31","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}