arrow
返回

CDOpt: a Python package for a class of Riemannian optimization

delete2025-02-13
delete0
PRE
AI
N
Nachuan Xiao
X
Xiaoyin Hu *
刘新 (Xin Liu)
K
Kim-Chuan Toh
DOI:10.1007/s12532-025-00277-zdelete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Optimization over an embedded submanifold defined by equality constraints c(x)=0\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(x) = 0$$\end{document} has attracted much interest over the past few decades due to its wide applications in various areas, including computer vision, signal processing, numerical linear algebra, and deep learning. For solving such problems, many related optimization packages have been developed based on Riemannian optimization approaches, which rely on some basic geometrical materials of Riemannian manifolds, including Riemannian gradients, retractions, vector transports, etc. These geometrical materials can be challenging to determine in general. In fact, existing packages only accommodate a few well-known manifolds whose geometrical materials are more easily accessible. For other manifolds that are not contained in these packages, the users have to develop the geometric materials by themselves. In addition, it is not always tractable to adapt the advanced features from various state-of-the-art unconstrained optimization solvers to Riemannian optimization approaches. Here we introduce a user-friendly Python package, CDOpt (available at https://cdopt.github.io/ under BSD 3-clause license), for solving a class of Riemannian optimization problems. CDOpt is designed to complement existing Riemannian optimization packages by transforming Riemannian optimization problems into their unconstrained counterparts through the constraint dissolving approach. We prove that the when the penalty parameter in the constraint dissolving approach is sufficiently large, Riemannian optimization problems and their unconstrained counterparts are equivalent. Therefore, solving Riemannian optimization problems through CDOpt can directly benefit from various existing solvers and the rich expertise gained over the past few decades for unconstrained optimization. Moreover, all the computations in CDOpt related to any manifold in question are conducted through its constraints expression, hence users can easily define new manifolds in CDOpt without any background on differential geometry. Furthermore, CDOpt extends the neural layers from PyTorch and Flax, thus allowing users to train manifold constrained neural networks directly by the solvers for unconstrained optimization. Extensive numerical experiments demonstrate that CDOpt is highly efficient and robust in solving various classes of Riemannian optimization problems.
Keyword:
Riemannian optimization
Penalty function
Unconstrained optimization
Constraint dissolving

期刊

Mathematical Programming Computation 封面图
Mathematical Programming Computation
IF:
3.6
论文数:
197
被引数:
1.9K

机构

H
Hangzhou City University
学者数:
2.2K
论文数: 2.0K
被引数: 1.0K
N
National University of Singapore
学者数:
7.5W
论文数: 6.5W
被引数: 11.4W
C
chinese academy of sciences
学者数:
56.5W
论文数: 44.9W
被引数: 704
学者 查看更多机构