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.5.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.5-cp314-cp314-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 10.15+ x86-64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

imate-0.29.5-cp311-cp311-manylinux_2_34_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

imate-0.29.5-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.5-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.5.tar.gz.

File metadata

  • Download URL: imate-0.29.5.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.5.tar.gz
Algorithm Hash digest
SHA256 7132c8a7f65d4274c1ba7072ceaabc50362a155c572f3d7a9e6c65f6ea056aa9
MD5 c528e366eabe339566d3dc25508e9787
BLAKE2b-256 ef2af79cc1f7cca9dcb0ff1e10c9715ee5f6608106e555ce83cf93e18d6296a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.5-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.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 2d9a3960309efe7c577ec8719c336bccaa281d5ca2137fa7758670f74640f180
MD5 5f21dd62c747c5ff9d07420890c2e22b
BLAKE2b-256 70352d7a950f27edadd3fdd7fc2c035703588adefcf72e81bbf8ad353f4f66c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3f4870a37bb88d99e8b9166b99d875b6e421ead16e322f82142e6e3d42fc96b2
MD5 39996a93cc0677327ad75dbf9573b98e
BLAKE2b-256 f9c3959a1261c0534747402f0506b4439a7e461feae33d330e3363de1186aa1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bf9ce96183dff833b69477a437513be9ea3b0478cdfad1b27751e6eab9b0d675
MD5 5f6a1c3cbe2c090c18019c22be9c610c
BLAKE2b-256 22517c557e639bf15181e8184c87c897dc1d95e6a41e476bf6e99a0f1210f461

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.5-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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 89e87f631353ed50774872ab4b669a5d396e564f0997f96e570862894ea257f0
MD5 1337d6cccc7fced2392b6ef99e1e44f4
BLAKE2b-256 b5fa3a8a1f35fa6a0f45611b157060bf44c579589beb7fc0e6fc6c89cc6905ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 96ab19de4a2bd013404e156a43a49bcd4953833a6d5ceeb127633eb4e94694bc
MD5 1836f867f7fabb0230c3c4bffca76a24
BLAKE2b-256 1c4eee93ed5171e88991f3301f2d2bdc38e61fdfdff120b525838ba7b82068a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c9605c9bcaffbc20dbeb66ef72ace8ab10086aa644f0cd5d7a240c008ab637f9
MD5 9c7612a1b0e021bcdd028ac9e5795825
BLAKE2b-256 8f5bb57120a8bc4bcf636bb25a955d929720c2edfde0ee2a45ef33746b173d2b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.5-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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b6e39af52d1e12fb89a8bfec2f79c64c3e4e00e02f644729eadd480754c6b627
MD5 d7e455b1dae99f269ded522ba0451379
BLAKE2b-256 737d3c5c1997e090045e8ea3e87a56b5456fa2322013051183b1016192db00e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d34d5b4328126f178d7f28f136025359da1ab8d984d67fca9dffe2bdd79ac36b
MD5 f796c08620d5ea83c035987f00f098db
BLAKE2b-256 0d458064cafcc0bbd78c876903fc1402fb3cc850b2ebced225c5b6b1d17e7159

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f0195a0e41f620e75ca9944d2375d56fc19ff780ea3160611d0e9d11b4befb61
MD5 bd593788d904eb5ad19167fc1b38ba5b
BLAKE2b-256 f7d35e8de5cfd3cd1dba1725bae17f54bc7e69e34a2d9cf0135850eed5b3b99f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.5-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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6025245a17f4b6cd2bd9a497d82f56e6d39879b51f7d2d2c5066c55f9a1c3b0c
MD5 8cd9bb078865502188c650a809430e6c
BLAKE2b-256 c6172f27bb01feec610a6790b92ef224d42e60ddfb0c6245bd81648f8390c88a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7ba86f2835de32d6d32829658c06a001e154ffbc7da28ce5061682ce0550e82c
MD5 6e3a85a1406a98065353e7b67caa203d
BLAKE2b-256 b655271d74a02e8120bf66f5961fff8edd4c847ce10ad4eb4c243bddeeaede35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 63bf063498a7c936e1cd84d36bc007b025cdcfd2188afc9c54a252a85dfce649
MD5 18ad36884d10213f2fb01d05e53ddbf6
BLAKE2b-256 89483d9e46798c93e5e856916b120c7b7f57ce62c16d0a80e211b8c540331a92

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imate-0.29.5-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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1dc6176fafb557bd54a080ac89bb18942e718ba3f7906ed3ae6f0f65c86fe2c3
MD5 a53d224e363cdab91e046ff98b2c61b1
BLAKE2b-256 16ed66f20b250797303a2b4e9cef525c1f40fad650a1a33624756941b8bdde77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0894a466811b61ad20f6194217aa70d4a6d39af16fe297f0696793e232d77c27
MD5 28e758ca8bbd815f7bb948fee18a4977
BLAKE2b-256 cf665d79fa090ae47d6c4af56388f6bed04daf0120ab91e31c81215fd4f679a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imate-0.29.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0aad2039b6ca82dd17782d261a815b276a46ab58b2c39efc036198add29b2032
MD5 d44c1ef3283ac9e331f2ffee7c56335e
BLAKE2b-256 e37ccf1a22f621750a6d51e65a266381345291594018710633db51231bb26840

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