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

Uploaded CPython 3.14Windows x86-64

imate-0.29.11-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.11-cp314-cp314-macosx_10_15_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

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

Uploaded CPython 3.13Windows x86-64

imate-0.29.11-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.11-cp313-cp313-macosx_10_13_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

imate-0.29.11-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.11-cp312-cp312-macosx_10_13_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

imate-0.29.11-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.11-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.11.tar.gz.

File metadata

  • Download URL: imate-0.29.11.tar.gz
  • Upload date:
  • Size: 449.6 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.11.tar.gz
Algorithm Hash digest
SHA256 596b2c5726764f2c87599346cd5a421b6cd7056fde486a680b2a85ce41ca311c
MD5 2fb020a282d962f8ac0e3e15581762ad
BLAKE2b-256 eb8cbc65370700a8d225d28ec831c9af7a19713c817af07164026a4712f7509b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.11-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.11-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 59a99afce7326aee5048563811782da9b98f20015a4c0d18158b3a71e98cdf1a
MD5 6159d83b6e0ecc28974b4d28ed5f0e46
BLAKE2b-256 95fac8224e833208d5fb0fe22cae491d742e8fcffd854f1d1d9a73fa75f0e22c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ebb5b4c7dbcbe814e87e34db0f9a101d14c868e9aa538da8d47a798a4e8499fa
MD5 e3c2637fd26ce99621aa163c7814c392
BLAKE2b-256 cb3df6964048315da88fe92603c674ec64f106cc139624b47d4e871efb682653

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 128ae756857dcf8be049843386bdc30419704516f3e4b98698aa0382c429a567
MD5 4829d38591da0fba4e75cfdc1b611dad
BLAKE2b-256 fe2c9d1fa18024cdb0b768bb36defba4b5633344427b934d3ad06079085420b5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.11-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.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4c8fb3899c5db471e2d55e2c179d6528912bd731bada98ec52442bf3d9460f62
MD5 26e404d174c925de950e2636e05aefc8
BLAKE2b-256 07f721f15901153bad91d875c8efe0ccf2660839b3b33b8eb547ed35366835c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b869b7b2f2277f90ff738bf87a047f08c73983f5c558bf9e509420978c462adc
MD5 a02221e676e3c6b6ceebd4e7aef49dc5
BLAKE2b-256 ba14feff22d588d6d08871a8baa7fcc831b991d0dc9fb62a7d98e11037a52210

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 988e768851f0d851bf2b2d5d985bb66f7713d203638005cb364e61935cb6bcea
MD5 e419715ac7be742de8dfce73b37a80fa
BLAKE2b-256 c72fe27d81d40c617b13e300be788cf9bd380bbde540b08545a565e829ccbd85

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.11-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.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 247f225a903ef0a4fd9d6854e171254daf1657017963a28d77abdb4390466c7e
MD5 c397c48336cdfd8c5b8d08c64ebf3152
BLAKE2b-256 7946bea0414bee2aad530fa760ab6b77f4096ed4cfc36bed9a6b9748eba0e51c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2b5686406a2ddff199d32012c576e084d82cdb1da4ee558f17f86f48de593e00
MD5 bf43644c21859596253840bd5ce89636
BLAKE2b-256 4ce29e70002cdc0c8aeb69bdefc09ab053e2b8f1c63074480b2cf84e72c970b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9fcb75ec2d7f74540e4717edbd485a6c34e00f52817de46faa2cb1320e880084
MD5 0192010ed33d1fcc6e9563aa6279436f
BLAKE2b-256 fdbd3c5cb3742e5e3b99b0d2ad07ec5f1774a0bc819353ca4e231bc881b75538

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.11-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.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d44883270b86a73f4c5129f5dc65032c1be1ed665fa1ac6deca3afa20a5cca91
MD5 35078429460d236d62227b3949ccf315
BLAKE2b-256 34cfb7f1f3047ed2103c6e7a404bb37f53bbf36dc0ad4520aff532405b4664e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3bfc9dd9d78beff2adeb72a1da9d0dac742293304b4821ace17cd1a1b66c6f34
MD5 31a4bbbd4417e7aa962000afdb78648f
BLAKE2b-256 e8b3b80d922225fa539be39a1230d3dee1fe3bff68df3b0f29c5723454deb996

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8222083da03d3d78b228a6e6b69cd371c1108be09cf92c2b5d78e8d73dce5db6
MD5 408d482bf1b299ce7e842ef3046c78be
BLAKE2b-256 c0f90cfeeecfcde2081ce757d7f462f35aaa01bbd66c10e9e4f74b356ac89727

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.11-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.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 340bfde38d38240d8844c1d01f0520bddac11de176a6644cca9b805a2e65e54b
MD5 dfeeab887538fde491d6c87ebd632477
BLAKE2b-256 8b223f36cdf5ca701a19777023c693b837f40212896c6986491173271454c819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 16a1121ac0dc601e22a99d50304242ce24b22df64193071c6c6bb19e1ea9458b
MD5 ec16a97deee505b328f105afadc32ff2
BLAKE2b-256 eb0e7bfae5b8b775a5b72a4831a1bcfb541cc08fdf9854f4f56366dd52a71814

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.11-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8a39081d6d2a280e832a3a468c2519ee1768f110e1dfff3da88c8017703b8b1b
MD5 6e0596554d4328f55cbb9a4c5dbdd063
BLAKE2b-256 9e5e03b78292830207c0c2f9b43a6edbd030e07744ff5f8d65bd241ac60e3003

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