Maniverse
Numerical optimization on manifolds
Overview
Maniverse is a C++17 library for numerical optimization on manifolds,
with a Python interface.
It was developed for the quantum chemistry packages
Chinium and
Orbaplaw,
and is also designed for use in other applications.
It includes built-in manifolds and optimization algorithms,
and supports extensions for additional problem types.
Features
- Manifolds: (Generalized) Stiefel and related manifolds (Flag, Grassmann, and Orthogonal), the Simplex manifold, and user-defined manifolds. Products of manifolds are supported.
- Optimizers: Trust-region Newton's method with conjugate-gradient or minimum-residual inner solvers, L-BFGS, Anderson acceleration, and an augmented-Lagrangian wrapper for equality constraints.
- Linear solvers: Conjugate Gradient and MinRes, with preconditioning and optional handling of non-positive curvature in Newton's trust-region subproblem.
- Hessian eigenpairs: A Lanczos method for examining the stability of constrained and unconstrained solutions.
Guides
Use these guides to install Maniverse, formulate your optimization problem, choose an appropriate solver, and solve it with the library.
- Installation
- Quick start: Rayleigh quotient on the Stiefel manifold
- Manifolds: base class and built-ins
- Objective and constraint functions
- The Iterate class that ties manifolds and functions together
- Optimizers: Newton/trust-region, L-BFGS, Anderson, Augmented Lagrangian
- Linear system solvers: CG and MinRes
- Diagonalizer: Lanczos method
- FAQ: purpose, motivation, and maintenance
Related links
- Maniverse on GitHub
- Chinium, a quantum chemistry package that uses
Maniverse - Manopt, a related manifold optimization toolbox
Metadata
Release files for Maniverse 2.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 18.0 MB
Release files / maniverse-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | maniverse-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
7281f338008f9b2822525db98acc577459a0ba4f744ec80518d9dbbe91819216
|
|
BLAKE2b-256 checksum How to use checksums |
76c89f7f20d6dbd3dd0f3bc33f47a13e4147398f3d70a475e0b32d7b8fc89ef6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | maniverse-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
deff62d0496c523f0371348d59ed311c39f9fa2ff952e5e399dac8fae7944cb9
|
|
BLAKE2b-256 checksum How to use checksums |
8508b1e14483663ca0c9abf6806e128c3e373926ede85d5260fb20827abcdf92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | maniverse-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
8f04c9dffffd2872364b5b11053c0a9159426c367287adb940bc0ea27b213dc0
|
|
BLAKE2b-256 checksum How to use checksums |
fae3f662fdb3b5824441fc88775a043da6b8dae545e1beb876b9265e8d8c3f2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | maniverse-2.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a475412f4595fcffb6d1eb3bc9392bef3501de90b2649b3900ca648beff2adda
|
|
BLAKE2b-256 checksum How to use checksums |
d8739a093ef707172c9bcd963bbde9a8ceecb8644e500c8a6d35cdc5de6eda54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | maniverse-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
754f4991c77da72c380c6454e858798a63328621d5bedd4beb27bcfc58353515
|
|
BLAKE2b-256 checksum How to use checksums |
16a14cdc00d3f8b057c31934fcd9f0efb3f974efecae32c51c85b65f5824936b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | maniverse-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
98f4135dfde534f39e6035fa7435aebd0a9e8f4118cbb3adcd9b6a2ff9fed583
|
|
BLAKE2b-256 checksum How to use checksums |
ed1b08887dabf94ec4edece591247d616c55556197f4b42d7e5d65cbdf586c0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | maniverse-2.4.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
89ec4ec2cdd32f1f92a8c34de55987bf7d0535ac10bc4a1537fd304ff1a9554c
|
|
BLAKE2b-256 checksum How to use checksums |
5a87fb5856de39fb3e340ac12f6737917d54538fa8a9ac0773f8c11ff6a9d7ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | maniverse-2.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4f63d58327656c3fa60a520f79ece8863a3105877c55612b6ae843197b13951b
|
|
BLAKE2b-256 checksum How to use checksums |
2fd6deb8f3285fdc30e78a3f97b81a524cc42b87886eb5ca611af885b51aa0ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | maniverse-2.4.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ee668b59ffca8c86071b2a7cc3df2ba1a912c5557a51fca8597e86636972ded0
|
|
BLAKE2b-256 checksum How to use checksums |
83f42a1ab6da2521f467b6e1e5dd6d0f3f42e3c12e897798c36e6ef17822ea59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / maniverse-2.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | maniverse-2.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
342345210be6f2d62af33b5a4954e82de6a841dc0dc3744e6a5fb6d2c3f6dd65
|
|
BLAKE2b-256 checksum How to use checksums |
cd71fd335fc9c2b7bb0bec8382b6b41f54b479ec4a686e3595e9b302b8052bd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for Maniverse 2.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.