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.

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

Dev install (until a wheel is published)

The extension compiles two large TUs with -O3 -march=native; expect a minute or two.

# Build isolation provisions pybind11 + scikit-build-core automatically;
# editable keeps the source tree in place so the build reaches ../src, ../include.
pip install -e python
pytest python/tests -v

If your environment requires --no-build-isolation, install the build deps into the active env first: pip install pybind11 scikit-build-core (numpy/scipy are pulled in as runtime deps), then pip install -e python --no-build-isolation.

CPU only. GPU, tuning parameters, and 64-bit indices are not exposed in this version.

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.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (430.2 kB view details)

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

apxchol-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (430.1 kB view details)

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

apxchol-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (430.0 kB view details)

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

apxchol-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (429.7 kB view details)

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

apxchol-0.1.0-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.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1baaa5f16135c8f8bc436a9c622f32a98099b4c7e9f587a18c916a73333d1ce1
MD5 89ee3489a96227c11ab44e16b55b11f7
BLAKE2b-256 12452ee7feeaf964d6f0400d7c94f0902ad22824d9ee5777a53768d465c51572

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.0-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.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b5d44d3097ff58010a3eaeec9db44c9a167d11f78d3e206011cccd142755442a
MD5 8f91c5ecdabf7c3d94a806812cb73abe
BLAKE2b-256 d48fd32f457a334f014e49b34f5c50ab88ec50d727094c0c838d6468f98431c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.0-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.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bd262f54164b20cb93dfc53ee7b1a98df9f7f0b409ec4144abcc0be4ca3dd3de
MD5 409b3d3f5433087bd2de78facb8aefe2
BLAKE2b-256 c1be17ba996cec9f6e012b088fdd54d7f273f5f5e5c62298d28beca18bafd93b

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.0-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.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f38ea40087dc710c5718084276cead4af5ec2eb11589441c6df1387705fa7bc1
MD5 02c688f6f4be01b04ab0848ea376f1a3
BLAKE2b-256 dd445336f1484acfaae3c9aaa8ee9a7ee6cef30d374c0c9678cc1209980092c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.0-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.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apxchol-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c05e6a1c980d3fd0ae1c89e9211bf0718e0a89eb5d5994b3bb19e0b53b27e228
MD5 1a89aa44be287c5009731614e30f1831
BLAKE2b-256 dba6c5e1edc995f11e3159dc92e4f2defb98e8845aef1eb1a88aff61b443d1f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for apxchol-0.1.0-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