Manifolds.jl: An Extensible Julia Framework for Data Analysis on Manifolds
Peer reviewed, Journal article
Published version
Permanent lenke
https://hdl.handle.net/11250/3115620Utgivelsesdato
2023Metadata
Vis full innførselSamlinger
- Institutt for matematiske fag [2640]
- Publikasjoner fra CRIStin - NTNU [41088]
Originalversjon
10.1145/3618296Sammendrag
We present the Julia package Manifolds.jl, providing a fast and easy-to-use library of Riemannian manifolds and Lie groups. This package enables working with data defined on a Riemannian manifold, such as the circle, the sphere, symmetric positive definite matrices, or one of the models for hyperbolic spaces. We introduce a common interface, available in ManifoldsBase.jl, with which new manifolds, applications, and algorithms can be implemented. We demonstrate the utility of Manifolds.jl using Bézier splines, an optimization task on manifolds, and principal component analysis on nonlinear data. In a benchmark, Manifolds.jl outperforms all comparable packages for low-dimensional manifolds in speed; over Python and Matlab packages, the improvement is often several orders of magnitude, while over C/C++ packages, the improvement is two-fold. For high-dimensional manifolds, it outperforms all packages except for Tensorflow-Riemopt, which is specifically tailored for high-dimensional manifolds.