Skip to main content

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.

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.10.tar.gz (449.7 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.10-cp314-cp314-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.14Windows x86-64

imate-0.29.10-cp314-cp314-manylinux_2_34_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.14macOS 10.15+ x86-64

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

Uploaded CPython 3.13Windows x86-64

imate-0.29.10-cp313-cp313-manylinux_2_34_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

imate-0.29.10-cp312-cp312-manylinux_2_34_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

imate-0.29.10-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.10-cp311-cp311-macosx_10_9_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

imate-0.29.10-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.10-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.10.tar.gz.

File metadata

  • Download URL: imate-0.29.10.tar.gz
  • Upload date:
  • Size: 449.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for imate-0.29.10.tar.gz
Algorithm Hash digest
SHA256 6eef51aa2b5047950075f42a87957ae8c52835e6442e408ea8a74221111a847f
MD5 d73de070e0a1b0cd9196371b92035bfa
BLAKE2b-256 7b3855250fe5ba430e02c7c5d43add4a2749fcaa6274f9cb785a8ded2ce33c62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.10-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/7.0.0 CPython/3.13.14

File hashes

Hashes for imate-0.29.10-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5add0014ba0bb62b74d1f8a864fba95543752ea8819e1ac290aa421b955be5b1
MD5 5d3a3628bf6898a40e68020f2dffa904
BLAKE2b-256 1a418ce2dabc65d7b1709d179eda98053f1cd9bcdd47ba7939ff5745f29746c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5841223becd01e3e52cdeda33f54afd063a8a02c3d9fe437640dd661b9d8a953
MD5 043748ef634e8a486cee69cec6490ba1
BLAKE2b-256 f79c50e3771c137c7d416f4668a5c39e1fccd3d02a253e97441f6e40aa81b433

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6bceb83fbd3afc8bb844bac58c7ac6e1e10fd675fd53e14069719948301615a5
MD5 d63c4b83c00ded75f55357d0d120bcaa
BLAKE2b-256 762bd2b8560072038b459caedd11301bfde82fc90521bab5434f7586a36ca811

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.10-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/7.0.0 CPython/3.13.14

File hashes

Hashes for imate-0.29.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 325ec5439b58659a99a82dacd19c6b56040ae18b0fdc65f43515c0e4661fc6d5
MD5 142ec54d9d1b9e8005e96d8a258b9707
BLAKE2b-256 ba70a1cec7dbbb91136b7241a0b16df1716a16cf5eb65c3fdfd5ffc9ee97aaf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ca32b9c4d78a32f30897be59296edb055c05fcbd9d8f5d77d9b115c19c4a3c70
MD5 ebf8cfdaf4abc4910959be563b38e00c
BLAKE2b-256 301922966994240e3da05ae7b2d40c813c5705cd5105c244427bd49947db56dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5f95893102b3c35da1525c5d8baae7c4429338ee95fd4f9be4ae917cd3ad7ae1
MD5 c5382b5746feaf078df0e3e85ccf42fc
BLAKE2b-256 bcb035a2efde44da315bf4bf65733d81a4c160df21d0bf75fe783f10fcf40608

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.10-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/7.0.0 CPython/3.13.14

File hashes

Hashes for imate-0.29.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 91b546305746db0f2a7df8c38702c7ed2e00f3d8c2de1ccbf4d7240226e0422b
MD5 ef938f6cc3765d44a90ec4a656ae5705
BLAKE2b-256 46ee5dcd6e1eacc061dd561a65243bddcafa33600e74109fa22b4ef1d6b1f3ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f48174fa6af52bbbf904a563f776353d2ee5eb5318dfb07643d89517b149d40c
MD5 b730ca4e7c626f79776c0959f1fe077c
BLAKE2b-256 a30ebc8951c6f86ac2c2e1aa33314cf3d09e3f2ac2127e10824e8984cc533847

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4f7ccc45c77dbde10e86a411a9971f85feb0182b7c06a5905830dab1b623c755
MD5 7ca1f3dc46de1960b79e717ba49afacc
BLAKE2b-256 280410b7ba5fb47c61d4777cdb9514281b0826e3a1015aa38043db610aa6854c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.10-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/7.0.0 CPython/3.13.14

File hashes

Hashes for imate-0.29.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b4e3701066fd313568ec1160d1a479d9dfe536e97200aee93a34a63e81b59483
MD5 4e0b555e1af8536849971161c4090a9b
BLAKE2b-256 9ff6655403b99c9feea4bbc07e850289c65db7aab1da2d59dfc918b44464f424

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 dfa5cdea50709621d7ba0623e542e88875db36005ba0b7dc6dcbcb2cf0bcc63c
MD5 bdf12c9aff4f3185f9b0740990c21ef5
BLAKE2b-256 69ecc1f4da0f67b8b7ad6ffb566c7725c916c8fb0fc100e5840ee08c440b2601

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b8a73c2437f34b88e47e0686619e4a95377578d4df482b5002dece98338431ec
MD5 1fa0bf62387527fe5f036256842f53a5
BLAKE2b-256 b4d957d06a6242d656b8e930303f9e9d6500faeac8101b22cc8a9f577f5d63dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.10-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/7.0.0 CPython/3.13.14

File hashes

Hashes for imate-0.29.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 879f4f2b92016c9fa3149ad1e8bfc89857936480485d58d82f538222434e18ca
MD5 ca0ee44537f14d018e7162b97ef3885d
BLAKE2b-256 9ce7deed21a228b1230a154c42b1dea84f3a0ff37d88edf4497e46e002bd46d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e51f925048a96dd8cfd0650d1cfafe1a04c431de2075d3fd4d70cabbe06bcaf4
MD5 5b57f00f5c7d32292d580cd498ebe0d0
BLAKE2b-256 152a74ba9d1cd57f483e374a4b98e9deaa2e0ef72674afaab62e84ef4635e457

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.10-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 608ebfa7ec51b3e9d7e077e88701cce8a86df1156c8de64d9cc6c039f3cee4d9
MD5 3e73475f344f0f06b9269cc5eac6dec7
BLAKE2b-256 5f10c9930595c1fd1e0c0847e6cb8689b32421c36c9330f8fe1e73e275ded34d

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 Sentry Error logging StatusPage Status page