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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 10.15+ x86-64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

imate-0.29.6-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.6-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.6.tar.gz.

File metadata

  • Download URL: imate-0.29.6.tar.gz
  • Upload date:
  • Size: 448.5 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.6.tar.gz
Algorithm Hash digest
SHA256 a9ae12910deaf9b736c3df92f59538b72713355afc96f512e7928b7df3876ee3
MD5 a0b6753fb702f6331fc5b20e15f6671f
BLAKE2b-256 c160b3c0c7eeabbaa1e8c91416f3c269ebf2c186d8ab76d421330ea8891b74ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.6-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.6-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e9768b97cb0ad4b6047ff4d7ee77f9f8d59b1e15804769947a4bb6bcaac7f1ab
MD5 ac5fdfca74406476813f2b6cfd7ba38a
BLAKE2b-256 16764e57f2cea54091355af91eb3882fc7bba23cb20130b54e7706414ea82030

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ba5b7ae0e923dfedd5e91593103d40289a3ac26b52f57c734f5856afc8f392d4
MD5 e0deac97ee9e35eaf118fe4b1061b924
BLAKE2b-256 cefbdca461221d0989a2fe2d424c2f91bd23efe39ef0db3a7a5321673e686dd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2eeee55c75a0a7d04972d7266ce09e839db3d58f364b2c372996bd3b20f078a2
MD5 595435997ea580a69b18284887ecbfb8
BLAKE2b-256 54b57b6939b55ae57990aca53655f0fb6f3acdc3c88b53b584080d6f179abb4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.6-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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 71111c24b5117b8d04bac2d2cc1458b91b1795a5e15624f0e640c76748274789
MD5 2a20b3c28792379305d8e67b056b8cee
BLAKE2b-256 8360607828e6c921ccb52e8a5a1635d6103362933e270f1f28e95ea8017a6bef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 98f127a461c82bbbec651c8bf56e8d9f011c5ff4eeb4b9175b1978951e12c44b
MD5 c74fc1934c30a4e74e2285402fc6599f
BLAKE2b-256 8f360c047c0afd649a7db77c398cd8b3453902a181602bcb748f0af5408803e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5403d92316e7e41544cf9c9cfc7c61da5883de63348e4dfe7f37d06c3259a097
MD5 cb2ab189d7dbed183607119070d1b3e4
BLAKE2b-256 22360064273708c0d695f233d1a6c4be63f01efb3be1023541e232aa78833bf7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.6-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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8d10157482799f10cafb6dbe80d7a827aa66d3d136f994887d64bc2b41198b4a
MD5 d2fb653ffaa9fc642ab83d56a908ac35
BLAKE2b-256 b1482c8fa241628bdbab06857643b50a492ebbe8cb08aaa3a96168fa9b95881b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2b213242b13ca7c76d061c5640cd1178bef55db284706dac95c27d3a214e76b6
MD5 7285e93b0870335f3073cdd858f82634
BLAKE2b-256 0603862fec5192a00a3972ca21e11842c251f03c50e8c7c3d45545b1ceb37477

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8da8eef762b08f16c5e97615ccafebd0cc31d117594c74fbdc673c914642128e
MD5 aca4427a01da4e0e7336a1e8c5706ff7
BLAKE2b-256 5887a1a4388512b870b3e6c18246cda8b03b377bf8e9126c2a1c3b59d20fd8db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.6-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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 56b2093f20bd2e5f9d77e6891de217ff16fb9d49dca6d5bed9850644547d730b
MD5 e6d040eba38df075e373d088e631e343
BLAKE2b-256 7a27b02348aa25564030672183d376f5d33cc52ea6534784bfd74353414bb27a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0bb74ecedb86b27e054f3ebab0034f79aedf983091a8fd391fce66c3902cb67a
MD5 ce5c28084a490292ad0068f9dbe0506c
BLAKE2b-256 b31676b061c5b8c4ef701cd7eb6a3456e3c841c723c48d58a4bcf2e5af1d9aad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1520c1fe3ed11d413b5609f407e208ac2dbadc689c4e1a71b72791ee1d0b8460
MD5 991e37caa5f62c1323d286f9cff4c0ec
BLAKE2b-256 c2857e3acd6be1d9b94c5eebe5c8a2ad6c847b82795f6ae011d24d294f57f1a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.6-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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5bc845caf59b89de1b22e50ff7b966a74d1c67aba67a4612c42f9d43ed93d9eb
MD5 263c8fdd46bbc97f61031560b4d7967b
BLAKE2b-256 f22cf82d4f08d7a2847a23ccbd6ab9311b2b7aaee9d09b9e3ec84e35c51ee8bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8215df591781c8c1d4f90ed90fd376d22b0ef9669a5b694984b8b24624fe7a19
MD5 c44b5ba8466c6e70b6f111e78a963ce3
BLAKE2b-256 78b61ebe1b9d0e81fd8f8163c0720ae650d6c94cdf9b41aaabf45b7892040979

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 68d794f585bc9f98fe5d05bf99b32122fdef99d62b07c90761818e052237d205
MD5 1532ab322b282d58ebf534046b526028
BLAKE2b-256 668e63341cf4fc219606037de2dd9291c71278dc2c5e8e2ed88e97d122d65cbb

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