detkit Documentation#
A python package to compute common functions involving determinant of matrices used in machine learning.
Supported Platforms#
Successful installation and tests have been performed on the following platforms and Python/PyPy versions shown in the table below.
Platform |
Arch |
Python Version |
PyPy Version 1 |
Continuous Integration |
|||||
---|---|---|---|---|---|---|---|---|---|
3.9 |
3.10 |
3.11 |
3.12 |
3.8 |
3.9 |
3.10 |
|||
Linux |
X86-64 |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
AARCH-64 |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||
macOS |
X86-64 |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
ARM-64 |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||
Windows |
X86-64 |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
ARM-64 2 |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
Python wheels for detkit for all supported platforms and versions in the above are available through PyPI and Anaconda Cloud. If you need detkit on other platforms, architectures, and Python or PyPy versions, raise an issue on GitHub and we build its Python Wheel for you.
Install#
Install with pip
from PyPI:
pip install detkit
Install with conda
from Anaconda Cloud:
conda install -c s-ameli detkit
For complete installation guide, see:
Docker#
The docker image comes with a pre-installed detkit, an NVIDIA graphic driver, and a compatible version of CUDA Toolkit libraries.
Pull docker image from Docker Hub:
docker pull sameli/detkit
For a complete guide, see:
List of Functions#
Compute the logdet of a matrix. |
|
Compute the loggdet of a matrix. |
|
Compute the logpdet of a matrix. |
|
Compute log-determinant under memory constraint. |
See API Reference for the full list of functions.
Tutorials#
Launch an online interactive tutorial in Jupyter notebook.
Benchmarks#
See benchmark test for evaluating the numerical performance of the functions in real applications.
Features#
Functions are implemented with a novel algorithm described in [1].
The underlying library is implemented in C++ and wrapped in cython.
An accurate count of computational FLOPs during the execution of functions can be measured.
How to Contribute#
We welcome contributions via Github’s pull request. If you do not feel comfortable modifying the code, we also welcome feature request and bug report as Github issues.
How to Cite#
If you publish work that uses detkit, please consider citing the following manuscripts.