Pymanopt: A Python Toolbox for Optimization on Manifolds using Automatic Differentiation
Optimization on manifolds is a class of methods for optimization of an objective function, subject to constraints which are smooth, in the sense that the set of points which satisfy the constraints admits the structure of a differentiable manifold. While many optimization problems are of the described form, technicalities of differential geometry and the laborious calculation of derivatives pose a significant barrier for experimenting with these methods. We introduce Pymanopt (available at https://pymanopt.github.io), a toolbox for optimization on manifolds, implemented in Python, that---similarly to the Manopt Matlab toolbox---implements several manifold geometries and optimization algorithms. Moreover, we lower the barriers to users further by using automated differentiation for calculating derivative information, saving users time and saving them from potential calculation and implementation errors.
Code (1)
Tasks
Riemannian optimizationSimilar Papers 제목 키워드 기반
Rieoptax: Riemannian Optimization in JAX
We present Rieoptax, an open source Python library for Riemannian optimization in JAX. We show that many differential geometric primitives, such as Riemannian exponential and logarithm maps, are usually faster in Rieopta…
CPUGPURiemannian optimizationStochastic OptimizationTensorFlow RiemOpt: a library for optimization on Riemannian manifolds
The adoption of neural networks and deep learning in non-Euclidean domains has been hindered until recently by the lack of scalable and efficient learning frameworks. Existing toolboxes in this space were mainly motivate…
BIG-bench Machine LearningManopt, a Matlab toolbox for optimization on manifolds
Optimization on manifolds is a rapidly developing branch of nonlinear optimization. Its focus is on problems where the smooth geometry of the search space can be leveraged to design efficient numerical algorithms. In par…
Dimensionality ReductionLow-Rank Matrix CompletionMatrix CompletionMetric Learning+1NetKet 3: Machine Learning Toolbox for Many-Body Quantum Systems
We introduce version 3 of NetKet, the machine learning toolbox for many-body quantum physics. NetKet is built around neural-network quantum states and provides efficient algorithms for their evaluation and optimization. …
BIG-bench Machine LearningChunkingGPUQuantum State Tomography+1Geomstats: A Python Package for Riemannian Geometry in Machine Learning
We introduce Geomstats, an open-source Python toolbox for computations and statistics on nonlinear manifolds, such as hyperbolic spaces, spaces of symmetric positive definite matrices, Lie groups of transformations, and …
BIG-bench Machine LearningClusteringDimensionality ReductionGPU+1