Gravo MG: A Fast Geometric Multigrid Method for Curved Surfaces
Project description
Gravo MG Python Bindings
Python binding for Gravo MG. Gravo MG is a Geometric Multigrid Method for solving linear systems on curved surfaces. For more information, check out our project page.
How to use
Given positions of points on a mesh or point clouds and a neighborhood graph (e.g., the edges on a mesh), you can use Gravo MG to solve linear systems as follows:
import mgsolver
V, F = # Mesh with vertices and faces
M = # Mass matrix
S = # Stiffness matrix (Laplacian)
# Create the hierarchy
neigh = gravomg.util.neighbors_from_stiffness(S)
solver = gravomg.MultigridSolver(V, neigh, M)
# Solve a linear system
lhs = # Some left hand side, e.g. M + 0.01 * S, make sure it is in csr format.
rhs = # Some right hand side, e.g. M @ V
solution = solver.solve(lhs, rhs)
Installation
The Gravo MG package is available on pip
pip install gravomg
If you would like to recompile yourself, you can clone this repository
git clone --recurse https://github.com/rubenwiersma/gravo_mg_python.git
And install from the folder
cd gravo_mg_python
pip install ./
Citations
Please cite our paper if this code contributes to an academic publication:
@Article{WiersmaNasikun2023GravoMG,
author = {Ruben Wiersma, Ahmad Nasikun, Elmar Eisemann, Klaus Hildebrandt},
journal = {SIGGRAPH 2023},
title = {A Fast Geometric Multigrid Method for Curved Surfaces},
year = {2023},
month = jul,
number = {4},
volume = {41},
doi = {10.1145/3588432.3591502},
publisher = {ACM}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gravomg-0.0.4.tar.gz.
File metadata
- Download URL: gravomg-0.0.4.tar.gz
- Upload date:
- Size: 227.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8154b5ffd93f8228a50c1569c8b74d307f8803dfbea0d08c099a521c40a0e882
|
|
| MD5 |
9b6a586f1f531bfb25590f93f61d128d
|
|
| BLAKE2b-256 |
ecc2c5057a547b455a706c28082a629fa22752655f9ea718bde9d0a7fa6883ee
|
File details
Details for the file gravomg-0.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 203.4 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cb651d5782f5cc6e589821610b86f64f4b0a51c9b51e05d77185615d2428475
|
|
| MD5 |
bb712e32fde49eabc12e22637587a88c
|
|
| BLAKE2b-256 |
cc02e36a1671ac57e175d49de59a31eee7ca6da63042899ae9ca8363a3c2d183
|
File details
Details for the file gravomg-0.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 203.4 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b0fc08864ba6e04f41e388c8a3b24253e5459527a72dea23801c0350a5d3613
|
|
| MD5 |
3b8f8c220ce24ad4925ce0656f47fbf2
|
|
| BLAKE2b-256 |
6165391e39b111e6ee2ccbfb98d3677b8b88812567d06ac54ce67665f93be747
|
File details
Details for the file gravomg-0.0.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 203.3 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e0cb0ccb528a77d9d9e3fd70f97aa97010946cf075dbdc7ae7e75385262b53f
|
|
| MD5 |
ed565e8f1e5a73e72d97736805f1e8ad
|
|
| BLAKE2b-256 |
12219aa84d5ef64a5d64e4843f42bf7ae153c9da7d80982c795b21f1d22695eb
|
File details
Details for the file gravomg-0.0.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 202.9 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb9dd4f6a52944f260d454e65e4afaa3b9b8718e2497068b912add712fa6e5fb
|
|
| MD5 |
3f0b1c5c7ccfc003dba2412c93cb51c6
|
|
| BLAKE2b-256 |
7bddaf2ef86967ee47f4b58b9097eaae6606618e60b2057c241127aca9762756
|
File details
Details for the file gravomg-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 203.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b048515b2bac2dce24139a52a7c3ee4f3ab33c8e491516d28dc008db11221024
|
|
| MD5 |
c0a1e225a965a6c633644d310c0e5c98
|
|
| BLAKE2b-256 |
03e61df16b2944c8feb4f496884c36cb36a22deecfc6bc466cdd7d5d5317bc3a
|
File details
Details for the file gravomg-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 204.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5843b486f3be7fe0ac43ba7a454dc667490659a86c54d64e637107a724283be
|
|
| MD5 |
d2d55af5f8b1582d56a5a30418463f95
|
|
| BLAKE2b-256 |
132ca30ddd31b875c4453139190dbd3e0248d82bc98c1a8b8e761a9d72ee162b
|
File details
Details for the file gravomg-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 203.2 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21f28c49b30b38fce87dd4533347965143a9843cbfe3ccdda6115fc1dd4728dd
|
|
| MD5 |
e91188bbe5e22f37a47e4dd853e21572
|
|
| BLAKE2b-256 |
43ca350831d70751b7cad61ef27fa20ec7d7f49ee47d13a0b51cd56dfa9fe08f
|
File details
Details for the file gravomg-0.0.4-cp310-cp310-macosx_13_0_arm64.whl.
File metadata
- Download URL: gravomg-0.0.4-cp310-cp310-macosx_13_0_arm64.whl
- Upload date:
- Size: 153.1 kB
- Tags: CPython 3.10, macOS 13.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fa5c6506cb76f908d2c6cca77facf6de97d9c18ddae28e1a8d1be285863fb50
|
|
| MD5 |
9c00e85f4f961e5966a01e59874bbec5
|
|
| BLAKE2b-256 |
f6cfece38a031d3fb4b7487180f5c273b8ab343d21fa7da381b092075e614878
|
File details
Details for the file gravomg-0.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 203.6 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9143473ed290c1d7722b9a564e6a7ca161f86ed2bf83e249f1ce799ed8adb77f
|
|
| MD5 |
665135b1ffaf73c6932527a683da1e71
|
|
| BLAKE2b-256 |
0e4f415273aaa018a3d7afffd9d509dc474262023c631eaacef57af986d4f437
|
File details
Details for the file gravomg-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 203.3 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03afd7cba8278877325c98ea5c0407c449eb2a0920b10726640534ad4f066b57
|
|
| MD5 |
d102476c5aadee51a0f65c6bb33858b0
|
|
| BLAKE2b-256 |
d7e9f0bf1a3fd5c166cbc26765a1e9e256a437ee6ce929195da47b064432a31e
|
File details
Details for the file gravomg-0.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 205.6 kB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c9f90c19bacdb48a5c95c883d13ba018c214f9a087e239f903616ce8a258879
|
|
| MD5 |
b79dce663e011417c7dfffff251a71c0
|
|
| BLAKE2b-256 |
ccc320a1ea4c273436b5d40ace1f5534fcbdcd1ebe75530b6fdd1a545f8321db
|
File details
Details for the file gravomg-0.0.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravomg-0.0.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 205.6 kB
- Tags: CPython 3.6m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6052f4a2fe3c58ccd4ef0330bb0b996e34e6bb7369897b339a9ade8a837546e3
|
|
| MD5 |
c618af8b31ad9381012ed1e70fcac252
|
|
| BLAKE2b-256 |
05a1c41afe6a515c350d546e7f55f31e77a0763ffdf4b71ed2e3537ad119f9ee
|