Skip to main content

CPU approximate-Cholesky preconditioner for graph-Laplacian / SDDM linear systems

Project description

apxchol (Python, CPU)

Approximate-Cholesky preconditioner for graph-Laplacian / SDDM linear systems.

pip install apxchol

Prebuilt wheels: Linux x86_64 (manylinux), CPython 3.10–3.14. CPU only.

import apxchol

solver = apxchol.solver(A)              # scipy sparse SPD Laplacian or SDDM; factor once
res = solver.solve(b, tol=1e-8, maxiter=500)
res.x, res.iters, res.residual, res.converged

z = solver.apply(r)                     # M^{-1} r
M = solver.aslinearoperator()           # use as M= in scipy.sparse.linalg.cg

res = apxchol.solve(A, b)               # one-shot convenience

Laplacian vs SDDM is auto-detected: singular Laplacians get a rank-(n−1) factor with native null-space handling; SDDM systems get the full-rank factor. The factor is built once per solver(A) and reused across right-hand sides; solve runs the library's OpenMP-parallel PCG (threads via OMP_NUM_THREADS).

Defaults only — tuning parameters, GPU, and 64-bit indices (n or nnz ≥ 2³¹) are not exposed in this version.

License

Interim academic-evaluation license: free for academic research and evaluation; redistribution and commercial use prohibited. See LICENSE.

From source (requires repository access)

The wheel build compiles the library's two core translation units directly; building from a repo checkout works the same way:

pip install -e python          # from the repository root
pytest python/tests -v

Source builds use -O3 -march=native (the distributed wheels are built portable). If your environment requires --no-build-isolation, first pip install pybind11 scikit-build-core.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

apxchol-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (430.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

apxchol-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (430.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

apxchol-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (430.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

apxchol-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (429.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

apxchol-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file apxchol-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ae65a02cfab2a87fda1a79cbff006163de10184484e67f2904da461a758a75ed
MD5 e69fb1cd9847a151a9c7e9b8ff396116
BLAKE2b-256 d1ece238fa014cfc64d30b0b6e00c69fa6fcbc28e80e4551968d9fda21007d83

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on AlgOptGroup/Scalable-Approximate-Cholesky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file apxchol-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46c9c547a2b35bf482407609324ed4d948507d6bc7468e9aee21a6daef499801
MD5 b32bb584a1b297960623e7c2b685206c
BLAKE2b-256 bb4a6885579d7ac1793b4daaa54d35d2b976e7501e364679cb976203bd7ece11

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on AlgOptGroup/Scalable-Approximate-Cholesky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file apxchol-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f946c86f322647ec3836aae5aa0bdab5da20326274fc37d2d372c3d5984c46c
MD5 5238f4f7ee02a6883d27ce5874c1dd33
BLAKE2b-256 9909e86ae499e6571757ec34792e1695ab16b11b7a7bc7638660beeef127b504

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on AlgOptGroup/Scalable-Approximate-Cholesky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file apxchol-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34f2b0340f9b6617d376329158c570ce2076452dd875a697cb2e81a3354643f5
MD5 e8a62340148fe92a28292286ac339a78
BLAKE2b-256 4763fa2748201f31d2d1a45b47fbd9da7d8c3e08a37b4c862b4c4fdf5a75ef96

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on AlgOptGroup/Scalable-Approximate-Cholesky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file apxchol-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 20395ae0ef3243b8904573a7d7899db68460ad52a1dcbb5186bab23c59e03e56
MD5 a65706473890dac8d1d36dcbd739bb37
BLAKE2b-256 9ddf176e504ad346e2845379a8611e81438625575a817c9d84f8ea04a7535c99

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on AlgOptGroup/Scalable-Approximate-Cholesky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page