CDOpt: A Python Package for a Class of Riemannian Optimization
Nachuan Xiao, Xiaoyin Hu, Xin Liu, Kim-Chuan Toh

TL;DR
CDOpt is a Python package that simplifies Riemannian optimization by transforming problems into unconstrained forms, enabling easy manifold definition and integration with neural network training frameworks, backed by extensive experiments.
Contribution
It introduces a constraint dissolving approach in CDOpt, allowing flexible manifold definition and leveraging unconstrained solvers for Riemannian optimization tasks.
Findings
Highly efficient in various Riemannian optimization problems
Robust performance demonstrated through extensive experiments
Enables training manifold-constrained neural networks directly
Abstract
Optimization over the embedded submanifold defined by constraints has attracted much interest over the past few decades due to its wide applications in various areas. Plenty of related optimization packages have been developed based on Riemannian optimization approaches, which rely on some basic geometrical materials of Riemannian manifolds, including retractions, vector transports, etc. These geometrical materials can be challenging to determine in general. Existing packages only accommodate a few well-known manifolds whose geometrical materials are easily accessible. For other manifolds which are not contained in these packages, the users have to develop the geometric materials by themselves. In addition, it is not always tractable to adopt advanced features from various state-of-the-art unconstrained optimization solvers to Riemannian optimization approaches. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Numerical Analysis Techniques
