Skip to main content

No project description provided

Project description

build_macos build_windows build_linux

Python versions

primate, short for Probabalistic Implicit Matrix Trace Estimator, is a Python package that provides estimators of quantities derived from matrix functions; that is, matrices parameterized by functions:

$$ f(A) \triangleq U f(\Lambda) U^{\intercal}, \quad \quad f : [a,b] \to \mathbb{R}$$

Estimator approximations are obtained via the Lanczos[^1] and stochastic Lanczos quadrature[^2] methods, which are well-suited for sparse or structured operators supporting fast $v \mapsto Av$ actions.

Notable features of primate include:

  • Efficient methods for trace, quadrature, and matrix function approximation
  • Various distribution / engine choices for random vector generation (the stochastic part!)
  • Support for arbitrary matrix functions, i.e. Callable's (Python) and invocable's[^3] (C++)
  • Support for arbitrary LinearOperator's, e.g. those in SciPy or Pylops
  • Matrix-free interface to the Lanczos, Golub-Welsch, and Gram Schmidt methods

primate was partially inspired by the imate package---for a comparison of the two, see here.

[^1]: Musco, Cameron, Christopher Musco, and Aaron Sidford. (2018) "Stability of the Lanczos method for matrix function approximation." [^2]: Ubaru, S., Chen, J., & Saad, Y. (2017). Fast estimation of tr(f(A)) via stochastic Lanczos quadrature. [^3]: This includes std::function's, C-style function pointers, functors, and lambda expressions.

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

scikit_primate-0.3.3.tar.gz (3.9 MB view hashes)

Uploaded Source

Built Distributions

scikit_primate-0.3.3-cp312-cp312-win_amd64.whl (711.8 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

scikit_primate-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

scikit_primate-0.3.3-cp312-cp312-macosx_11_0_arm64.whl (681.3 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

scikit_primate-0.3.3-cp312-cp312-macosx_10_9_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

scikit_primate-0.3.3-cp311-cp311-win_amd64.whl (714.6 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

scikit_primate-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

scikit_primate-0.3.3-cp311-cp311-macosx_11_0_arm64.whl (689.4 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

scikit_primate-0.3.3-cp311-cp311-macosx_10_15_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.11 macOS 10.15+ x86-64

scikit_primate-0.3.3-cp311-cp311-macosx_10_9_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

scikit_primate-0.3.3-cp310-cp310-win_amd64.whl (702.6 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

scikit_primate-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

scikit_primate-0.3.3-cp310-cp310-macosx_11_0_arm64.whl (682.3 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

scikit_primate-0.3.3-cp310-cp310-macosx_10_9_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

scikit_primate-0.3.3-cp39-cp39-win_amd64.whl (702.9 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

scikit_primate-0.3.3-cp39-cp39-manylinux_2_28_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

scikit_primate-0.3.3-cp39-cp39-macosx_11_0_arm64.whl (683.1 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

scikit_primate-0.3.3-cp39-cp39-macosx_10_9_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

scikit_primate-0.3.3-cp38-cp38-win_amd64.whl (702.4 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

scikit_primate-0.3.3-cp38-cp38-manylinux_2_28_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

scikit_primate-0.3.3-cp38-cp38-macosx_11_0_arm64.whl (682.0 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

scikit_primate-0.3.3-cp38-cp38-macosx_10_9_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ 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