Skip to main content

Implicit Matrix Trace Estimator. Computes the trace of functions of implicit matrices. Accelerated on CPU and CUDA-capable GPU devices.

Project description

imate, short for Implicit Matrix Trace Estimator, is a modular and high-performance C++/CUDA library distributed as a Python package that provides scalable randomized algorithms for the computationally expensive matrix functions in machine learning.

Install

Install with pip

pypi

pip install imate

Install with conda

conda-version

conda install s-ameli::imate

Docker Image

docker-pull deploy-docker

docker pull sameli/imate

Supported Platforms

Successful installation and tests performed on the following operating systems, architectures, and Python and PyPy versions:

Platform

Arch

Device

Python Version

PyPy Version 1

Continuous Integration

3.10

3.11

3.12

3.13

3.14

3.9

3.10

3.11

Linux

X86-64

CPU

build-linux

GPU

AARCH-64

CPU

GPU

macOS

X86-64

CPU

build-macos

GPU 2

ARM-64

CPU

GPU 2

Windows

X86-64

CPU

build-windows

GPU

Python wheels for imate for all supported platforms and versions in the above are available through PyPI and Anaconda Cloud. If you need imate on other platforms, architectures, and Python or PyPy versions, raise an issue on GitHub and we build its Python Wheel for you.

1. Our wheels for PyPy are exclusively available through pip and cannot be installed using conda.
2. MacOS does not natively support NVIDIA GPUs.

Supported GPU Architectures

imate can run on CUDA-capable multi-GPU devices. Using the docker container is the easiest way to run imate on GPU devices. The supported GPU micro-architectures and CUDA version are as follows:

Version \ Arch

Kepler

Maxwell

Pascal

Volta

Turing

Ampere

Ada

Hopper

Blackwell

CUDA 9

CUDA 10

CUDA 11

CUDA 12

CUDA 13

Documentation

deploy-docs binder

See documentation, including:

Performance

imate is scalable to very large matrices. Its core library for basic linear algebraic operations is faster than OpenBLAS, and its pseudo-random generator is a hundred-fold faster than the implementation in the standard C++ library.

Read about the performance of imate in practical applications:

How to Contribute

We welcome contributions via GitHub’s pull request. If you do not feel comfortable modifying the code, we also welcome feature requests and bug reports as GitHub issues.

How to Cite

If you publish work that uses imate, please consider citing the manuscripts available here.

License

license

This project uses a BSD 3-clause license, in hopes that it will be accessible to most projects. If you require a different license, please raise an issue and we will consider a dual license.

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

imate-0.29.7.tar.gz (448.6 kB view details)

Uploaded Source

Built Distributions

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

imate-0.29.7-cp314-cp314-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.14Windows x86-64

imate-0.29.7-cp314-cp314-manylinux_2_34_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

imate-0.29.7-cp314-cp314-macosx_10_15_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

imate-0.29.7-cp313-cp313-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.13Windows x86-64

imate-0.29.7-cp313-cp313-manylinux_2_34_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

imate-0.29.7-cp313-cp313-macosx_10_13_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

imate-0.29.7-cp312-cp312-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86-64

imate-0.29.7-cp312-cp312-manylinux_2_34_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

imate-0.29.7-cp312-cp312-macosx_10_13_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

imate-0.29.7-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

imate-0.29.7-cp311-cp311-manylinux_2_34_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

imate-0.29.7-cp311-cp311-macosx_10_9_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

imate-0.29.7-cp310-cp310-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.10Windows x86-64

imate-0.29.7-cp310-cp310-manylinux_2_34_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

imate-0.29.7-cp310-cp310-macosx_10_9_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file imate-0.29.7.tar.gz.

File metadata

  • Download URL: imate-0.29.7.tar.gz
  • Upload date:
  • Size: 448.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for imate-0.29.7.tar.gz
Algorithm Hash digest
SHA256 0f20f3597119253050aeda81471279a4acd3e1418657943bb7dbf972628b86c9
MD5 d2629f497cda5b27ec4c69df8e76536c
BLAKE2b-256 724855c7e406a5ff0d554412adc3eb235100d02edc5a433a89130ed0da36bbce

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: imate-0.29.7-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for imate-0.29.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5c87b86a44109eb5923bb5870614c79a51f8dc8437de2fbf5c4500cab5cc7bf1
MD5 5508172e219b808014d6f1c0b06843d8
BLAKE2b-256 057c1c5785e1736f40d9f23d4ada80789f735458f28579130f731b3fdb3c3e0f

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f02105bb49d6a2d6dddb73f524ac94560ba2940423545bfd7d500d4950f99ddf
MD5 27c82ac6223d2e8d21d426890be65e8f
BLAKE2b-256 314dc6b1cf134fcdccbb104254b69a84370c828b64500a51bf20f3cd51d259b3

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4d8eeb764c6a56c872d3e1f6449b3c2f94140cb5128ae58fd1d1e565cb7ddcee
MD5 53f251362912041447636c4d4c51aa12
BLAKE2b-256 18d9f852e995a9dda4eabbabcd705bca29a4b293b4b3119808c276aecc758671

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: imate-0.29.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for imate-0.29.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dc50f7d83694868467ee058a2feb70c8a1bd4fe2315541ec66faf9f13596c4ce
MD5 43da293eaa48e57caee1977019114a6b
BLAKE2b-256 c54826d86c88e46060152815e1cb592e654f98fa436b15087aa091b4d982ae7e

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d074f625ac232c833225a59acecdc3cbcc69c39ce6739085f5d51fefe6e8d26f
MD5 deb72cf03251d162cd9ab3ec69dbfcdb
BLAKE2b-256 8aa6318ac0db15515a47df5e1ec3abe5fefbf417063bb751704094a12d4dd2e1

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ab68ba1954639a016d911835f5fd4188f2f172c2bd4fbf0b0a1410b40123863d
MD5 f44563e9f42addb59c96ce1cea4b8bdd
BLAKE2b-256 83371a0ed5cfe99abff98ad432004dd0235f602bbeafd68d920c356a94de3cfb

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: imate-0.29.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for imate-0.29.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 75bd3acc96a7557b7dc2022f7a5570bd621fbd38dec669b8fefc5f5ba9540b53
MD5 eb899c9c75df4c1be4e37e18816c0186
BLAKE2b-256 cf8b7ff907a32c289843402b4547245500d31139637f9d1600cde9868d2a9824

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 924fe2aaa81e868a09b48b066b0dd0732ed7e743e055eb5a80e65f8806625e46
MD5 55492a3b97e8157018a479d0617d02f0
BLAKE2b-256 84a4336c6ff421cd147e4355d814b530201dbdc044f3f1c292b2e851622daae5

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3c8898379d031089b9aa8eaa4b0014536def2d48311ea4bbe74a51f414a58754
MD5 480eaeca6daf11e27d06bdf109af43bf
BLAKE2b-256 bf48103776cf1f29440352de8d65756ddbb83d74d2a718bce8bda1b152ce12a1

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: imate-0.29.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for imate-0.29.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c61824947029bf8d0a6193bb346913bab535709be7053d81c06b4d11e70b000e
MD5 931292de44f19fb6e838755b491eaf5d
BLAKE2b-256 9db8fe4436d2f20837f8691b507b6bcc1785420099eb4ac48baefae35d73593f

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 18469cd856ba5f07cabc016f0a5218785badb431ef2f9bbd8ba57881ab534c38
MD5 f3af62c22cfa19b35ee81b5368137f80
BLAKE2b-256 1ae057eb67c2bdc20562d3b5cb49546b342d830cd4766eb773356138bc490794

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7174c418dd09f2ff36f56ce0c2bda42c41b6d5402483b39f49becda206d93438
MD5 6cead58c77749b287340348457f971e8
BLAKE2b-256 b25fce2e16586c5f3be62482bc490d525179192dbd6887c9334f3f38b28c3975

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: imate-0.29.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for imate-0.29.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b284aee536e5be46c3df62d41ffba0c75e9cf2edf11c3a180ec9af4dddc6b76a
MD5 5d456ee73b94df0663eefdcaafed2dea
BLAKE2b-256 2187b06af61eaca43cd5e5e3bfda24cdafd890431a5a76dc2e6dc710b4767077

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e3a2721a3927a380063e9cd01dc87a14a6ecd36c180fe84a1560747c9da8f62f
MD5 22f9f77174ed36fcc0c3fb9f0edce864
BLAKE2b-256 980a0edcd9123e8efd65ed764cfcc5967eec9ab893eb2e3430fd924b9c19d42a

See more details on using hashes here.

File details

Details for the file imate-0.29.7-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.29.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d9ad34cd4f885c48688a9ab3b8acf7f60c3cf54377a33da7663adc7618536d68
MD5 30deea8d468b3c5738c2b391671d351a
BLAKE2b-256 cd86759f30b9c93e3de8313393a65c25d4245f4d4aa7789c7072b8285fe9ae3a

See more details on using hashes here.

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