detkit Documentation#

license deploy-docs

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

build-linux

AARCH-64

macOS

X86-64

build-macos

ARM-64

Windows

X86-64

build-windows

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.

1. Wheels for PyPy are exclusively available for installation through pip and cannot be installed using conda.
2. Wheels for Windows on ARM-64 architecture are exclusively available for installation through pip and cannot be installed using conda.

Install#

pypi conda

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#

docker-pull deploy-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#

detkit.logdet

Compute the logdet of a matrix.

detkit.loggdet

Compute the loggdet of a matrix.

detkit.logpdet

Compute the logpdet of a matrix.

detkit.memdet

Compute log-determinant under memory constraint.

See API Reference for the full list of functions.

Tutorials#

binder

Launch an online interactive tutorial in Jupyter notebook.

Benchmarks#

See benchmark test for evaluating the numerical performance of the functions in real applications.

Features#

tokei-2 languages

  • 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.