Skip to main content

A drop in replacement for sksparse for sparse Cholseky factorization

Project description

sksparse_minimal

This project is forked from https://github.com/rgl-epfl/cholespy

Changes made:

  • Add support for all solving modes (CHOLMOD_A, CHOLMOD_L, CHOLMOD_Lt, CHOLMOD_P, etc)
  • Remove support for GPU solving (because I didn't want to bother implementing it for all modes and I didn't need it)
  • Emulate sksparse API for ease of use
  • Change CHOLMOD configuration to match sksparse
  • Update build to match recommendations from https://nanobind.readthedocs.io/en/latest/building.html

Installing

With PyPI (recommended)

pip install sksparse_minimal

From source

git clone --recursive https://github.com/tansey-lab/sksparse_minimal.git
pip install .

Example usage

import numpy as np
from sksparse_minimal import SparseCholesky
from scipy.sparse import csc_matrix

M = np.array([[4, 12, -16],
           [12, 37, -43],
           [-16, -43, 98]], dtype=np.float64)

M = csc_matrix(M)

sparse_cholesky = SparseCholesky(M)

b = np.array([1, 2, 3], dtype=np.float64)

sparse_cholesky.solve_A(b)

Project details


Download files

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

Source Distribution

sksparse-minimal-0.2.tar.gz (6.7 MB view hashes)

Uploaded Source

Built Distributions

sksparse_minimal-0.2-cp311-cp311-win_amd64.whl (4.9 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

sksparse_minimal-0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

sksparse_minimal-0.2-cp311-cp311-macosx_11_0_arm64.whl (987.4 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

sksparse_minimal-0.2-cp311-cp311-macosx_10_14_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 macOS 10.14+ x86-64

sksparse_minimal-0.2-cp310-cp310-win_amd64.whl (4.9 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

sksparse_minimal-0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

sksparse_minimal-0.2-cp310-cp310-macosx_11_0_arm64.whl (987.6 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

sksparse_minimal-0.2-cp310-cp310-macosx_10_14_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 macOS 10.14+ x86-64

sksparse_minimal-0.2-cp39-cp39-win_amd64.whl (4.9 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

sksparse_minimal-0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

sksparse_minimal-0.2-cp39-cp39-macosx_11_0_arm64.whl (987.8 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

sksparse_minimal-0.2-cp39-cp39-macosx_10_14_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 macOS 10.14+ x86-64

sksparse_minimal-0.2-cp38-cp38-win_amd64.whl (4.9 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

sksparse_minimal-0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

sksparse_minimal-0.2-cp38-cp38-macosx_10_14_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 macOS 10.14+ x86-64

Supported by

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