Skip to main content

Extension module for computing permanents of square and rectangular matrices.

Project description

This project supports Python 3.10+ pre-commit GNU GPLv3

Permanent

The permanent of a (square) matrix, like the determinant is a polynomial in the entries of the matrix. Unlike the determinant, the signatures of the permutations are not taken into account making the permanent much more difficult to compute because decomposition methods cannot be used.

The permanent commonly appears in problems related to quantum mechanics, and the most common brute-force combinatorial method has time complexity $\mathcal{O}(N!N)$, thus it is useful to look for more efficient algorithms. The two algorithms considered to be the fastest are one by Ryser (based on the inclusion-exclusion principle), and one by Glynn (based on invariant theory).

This library aims to solve the need for an efficient library that solves the permanent of a given matrix.

Algorithms

permanent.opt()

Compute the permanent of a matrix using an automatically selected algorithm. The library uses a polynomial logistic regression model (degree 4) trained on benchmarks to predict whether Ryser's or Glynn's algorithm will be faster for the given matrix dimensions.

Parameters:

  • matrix: np.ndarray(M, N, dtype=(np.double|np.complex))

Returns:

  • permanent: (np.double|np.complex) - Permanent of matrix.

permanent.combinatoric()

Compute the permanent of a matrix combinatorically.

Formula:

$$ \text{per}(A) = \sum_{\sigma \in P(N,M)}{\prod_{i=1}^M{a_{i,{\sigma(i)}}}} $$

Parameters:

  • matrix: np.ndarray(M, N, dtype=(np.double|np.complex))

Returns:

  • permanent: (np.double|np.complex) - Permanent of matrix.

permanent.glynn()

Formula:

$$ \text{per}(A) = \frac{1}{2^{N-1}} \cdot \sum_{\delta \in \left[\delta_1 = 1,~ \delta_2 \dots \delta_N=\pm1\right]}{ \left(\sum_{k=1}^N{\delta_k}\right){\prod_{j=1}^N{\sum_{i=1}^N{\delta_i a_{i,j}}}}} $$

Additional Information: The original formula has been generalized here to work with $M$ by $N$ rectangular permanents with $M \leq N$ by use of the following identity (shown here for $M \geq N$):

$$ \begin{aligned} \text{per}\left(\begin{matrix}a_{1,1} & \cdots & a_{1,N} \ \vdots & \ddots & \vdots \ a_{M,1} & \cdots & a_{M,N}\end{matrix}\right) = \frac{1}{(M - N + 1)!} \cdot \text{per}\left(\begin{matrix}a_{1,1} & \cdots & a_{1,N} & 1_{1,N+1} & \cdots & 1_{1,M} \ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \ a_{M,1} & \cdots & a_{M,N} & 1_{M,N+1} & \cdots & 1_{M,M}\end{matrix}\right) \end{aligned} $$

This can be neatly fit into the original formula by extending the inner sums over $\delta$ from $[1,M]$ to $[1,N]$:

$$ \text{per}(A) = \frac{1}{2^{N-1}} \cdot \frac{1}{(N - M + 1)!}\cdot \sum_{\delta \in \left[\delta_1 = 1,~ \delta_2 \dots \delta_N=\pm1\right]}{ \left(\sum_{k=1}^N{\delta_k}\right) \prod_{j=1}^N{\left( \sum_{i=1}^M{\delta_i a_{i,j}} + \sum_{i=M+1}^N{\delta_i} \right)} } $$

Parameters:

  • matrix: np.ndarray(M, N, dtype=(np.double|np.complex))

Returns:

  • permanent: (np.double|np.complex) - Permanent of matrix.

permanent.ryser()

Formula:

$$ \text{per}(A) = \sum_{k=0}^{M-1}{ {(-1)}^k \binom{N - M + k}{k} \sum_{\sigma \in P(N,M-k)}{ \prod_{i=1}^M{ \sum_{j=1}^{M-k}{a_{i,{\sigma(j)}}} } } } $$

Parameters:

  • matrix: np.ndarray(M, N, dtype=(np.double|np.complex))

Returns:

  • permanent: (np.double|np.complex) - Permanent of matrix.

Installation

The permanent package allows you to solve the permanent of a given matrix using the optimal algorithm for your matrix dimensions.

Installing from PyPI

Simply run:

pip install qc-permanent

This will install the package with pre-set parameters with a good performance for most cases. Advanced users can also compile the code locally and fine tune it for their specific architecture. They can either use the pre-defined parameters or fine tune them to their machine.

Installing manually

  1. Install Python on your machine. Depending on your operating system, the instructions may vary.

  2. Install gcc on your machine. Depending on your operating system, the instructions may vary.

  3. Create and activate a virtual environment for this project named permanents. One way to do this is with pip.

    python -m venv permanents
    source permanents/bin/activate
    
  4. Install Python dependencies:

    pip install numpy pandas scikit-learn pytest
    
  5. Install qc-permanent.

    pip install .
    

    Optionally, install dependencies for building documentation (doc), running the tuning algorithm (tune), and/or running the tests (test) by specifying them in square brackets:

    pip install '.[doc,tune,test]'
    

If you want to generate a machine-specific tuning header for building the library, you must first install with tuning dependencies, and then build with tuning enabled:

PERMANENT_TUNE=ON pip install '.[tune]'

This compiles the code with machine specific tuning for algorithm swapping. Note that machine specific tuning will run a series of tests. This will take anywhere from 10 minutes to 1 hour depending on your system.

Using the C++ library

The C++ library can be used by including the CMake project for matrix-permanent in your own CMake project. The Makefile also acts as a convenience wrapper around the CMake build for quickly compiling the C++ library.

License

This code is distributed under the GNU General Public License version 3 (GPLv3). See https://www.gnu.org/licenses/ for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qc_permanent-0.0.2a1-cp314-cp314-win_amd64.whl (92.6 kB view details)

Uploaded CPython 3.14Windows x86-64

qc_permanent-0.0.2a1-cp314-cp314-musllinux_1_2_x86_64.whl (199.8 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

qc_permanent-0.0.2a1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (117.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

qc_permanent-0.0.2a1-cp314-cp314-macosx_10_15_universal2.whl (161.0 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

qc_permanent-0.0.2a1-cp313-cp313-win_amd64.whl (91.7 kB view details)

Uploaded CPython 3.13Windows x86-64

qc_permanent-0.0.2a1-cp313-cp313-musllinux_1_2_x86_64.whl (199.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

qc_permanent-0.0.2a1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (117.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

qc_permanent-0.0.2a1-cp313-cp313-macosx_10_13_universal2.whl (160.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

qc_permanent-0.0.2a1-cp312-cp312-win_amd64.whl (91.7 kB view details)

Uploaded CPython 3.12Windows x86-64

qc_permanent-0.0.2a1-cp312-cp312-musllinux_1_2_x86_64.whl (199.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

qc_permanent-0.0.2a1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (117.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

qc_permanent-0.0.2a1-cp312-cp312-macosx_10_13_universal2.whl (160.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

qc_permanent-0.0.2a1-cp311-cp311-win_amd64.whl (91.8 kB view details)

Uploaded CPython 3.11Windows x86-64

qc_permanent-0.0.2a1-cp311-cp311-musllinux_1_2_x86_64.whl (199.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

qc_permanent-0.0.2a1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (117.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

qc_permanent-0.0.2a1-cp311-cp311-macosx_10_9_universal2.whl (158.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

qc_permanent-0.0.2a1-cp310-cp310-win_amd64.whl (91.8 kB view details)

Uploaded CPython 3.10Windows x86-64

qc_permanent-0.0.2a1-cp310-cp310-musllinux_1_2_x86_64.whl (199.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

qc_permanent-0.0.2a1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (117.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

qc_permanent-0.0.2a1-cp310-cp310-macosx_10_9_universal2.whl (158.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file qc_permanent-0.0.2a1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c344793abbb090c07fd313c94b6230ba128a8c5b4786c2e8bbe24ef9d8160f09
MD5 ecb67cf106894ad38d35cd9baacef6d3
BLAKE2b-256 d2c33aeaa486eb2d08892a94c9a23011aa83a0d063d239b720f467e13ab3189d

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp314-cp314-win_amd64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b83b1a35bf2bfad792c2eecb6b895568d89b6ed3c44ff412034c9d350e5f3467
MD5 7b7b088b9e33236a168f9289313ae9ec
BLAKE2b-256 cfa269786bfa1ebcc88e9639ab3505aa61617666cb6bd2f05da3ae3a77814887

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 1faade9cfe51832e04b4fea7a143859036e42fbc9231d225874f675f02baa6f6
MD5 1b3a7a69290ff714b3989c2fc1cbba1e
BLAKE2b-256 69667c24ae2fbfda3ac193e58fcacd33fb22d6796e82f476342b0cd98aa701aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 243065991a2a2469ca97549d84a0bbdbe849cc9cfeb14dacd2acc84d93a7e57a
MD5 e4ca94854e014c873901e44915632043
BLAKE2b-256 026ef2a4b19db8d74545ec4ed46b52d309d1ce94c6d413b0229b3a284277dc5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp314-cp314-macosx_10_15_universal2.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cddd48cd8bb43197099d6e32dbfbd81e39a5a2fc26ba4cc270ce32cddcbdc34d
MD5 307704545e170266a749d7f4ceccbcc0
BLAKE2b-256 21f9e289fdd86afd2576850cddce7432eec5024876a3b833aa9b47db9360d6b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp313-cp313-win_amd64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 45b560b8dad97207cd9a9ebff8215157382b1a2f69688fb53aeb12db18e1147a
MD5 edfbfa92e2950cfb875d226604a0de3b
BLAKE2b-256 1c6291553f8dbb716d439b8c1b000c25b3e2c32b76357fd7d931a59ea8f3eafa

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 31bfb97d8e0a5c09331a682a8de32f4a2ae4e255f153659077122da6b6c53b43
MD5 d0774d3df2140aabf39dd0db69302e33
BLAKE2b-256 5c0ccec68b66c489b94dd7977cb1c0f6b69288d9ddfd6da74f5e76f301638abd

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 122d03de43d700632b4dc5db3a95aaa03ad69ef828b9ec1a31b11a6486571ef6
MD5 6fef9f3f69a6df30bbd05835e6f2319b
BLAKE2b-256 d956f09fa55b82c8bb984e94942021432c8635002a88fc34a4fefcda00d08a86

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d0c0e0847c5041d706711810d9dc6b7b80a344371336266c0a83de48bd15d95d
MD5 95a256106f13835d5472d2517671ebeb
BLAKE2b-256 6bdda0319424e0e86c8241b95001787f7519bdfcb6730c80d9c97be0c6c8e289

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp312-cp312-win_amd64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9bbe1acdb91d2aa69fc6367ee531f9f5ab08b7aa4418e5150072967ca1050890
MD5 978d97966c3048355b29c5e39c954e5e
BLAKE2b-256 86cfcc074204b1a3729c53f40d59a05e65ddd0c62ae855565ebc68daad628f40

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ea57c37db3c0bcad3ea24ed76624ff4aa5f992408f103bdcac8a34541b075fec
MD5 9f0b8364521455497767fbdfe377c4c9
BLAKE2b-256 5ce05be2b41c3b5a18a993d4ac007c9ccf40657f15a8df4ebdf6091e4ad854d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 bfe24cf18a8741a7dc85d4eb10086ff08835a156e310dccaf0bdde6389f92473
MD5 9dc16640e8506d242ec01d1c20f87499
BLAKE2b-256 ad39c569fe469d7b04d3c561dfcffdaeba329a99f57d36c2c69634ef2e31a543

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2c45b8e6959d76e24673c295d58c00c92f845d472459462d3df687a1e6c4f935
MD5 1ee3eb3ef3dc17e83e390cb30fda471f
BLAKE2b-256 04fc02625ef2a8e903a9b5b0c2f475a971ebd9bf2a53086857437135e28140ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp311-cp311-win_amd64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2b8d0c7df59455b2927778f4e943256df313cfddfc962a63e62ec96c712aea9b
MD5 7c5eb3f05cb32a8244429966de1583ae
BLAKE2b-256 afa14c5cbe93daa38f75a9fd3d804121bdd7f9b425a2c10ac23c727ecbbdc847

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 1c86abcc756afbec20047ae7b4c9b965bb56d4c5d5183c47cee898432439d39f
MD5 077d16d5a757e70d3526378d3ea37834
BLAKE2b-256 b3ba23ab8154823f9be40ac286288b2803b0cfd02fade23f3747ec4dcd8e1a12

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e2add4cc20370b24ddcf57acf1d003e6aaea61a5d5808bef9fa774b64e7d1aae
MD5 a75c08c9dcc57c6acc489b32cd59dcfd
BLAKE2b-256 e7869def3ba3893cf57f150518ef30c30e74f6050883b200ccad0a8f0ebe17b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 55e841990f582a9e4ae351dd8941fa944ddd2783781c65007c50bed6239d3fe2
MD5 2d76cc80884149dcdf5a27e15493cae9
BLAKE2b-256 f6c5f3080f92da4ac552651dcf2a074be6b8bdf3ebcf1fe61efdf31e353233df

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp310-cp310-win_amd64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e998a1e75bfbc94a122bf24b0bf74c98a3357c38881a7009e9f66ec9b688219b
MD5 6a9a02e9adf3373cdd8c2d8c01528eab
BLAKE2b-256 3e9afa589e96b2e760d8cfd83b2e9db460708775bb18902677c6b34cc873a0c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 3163804d0f99007e7e86ee7bfbd72639dd4991df58ad111d7654ed5c4719fcd8
MD5 1f95713578ca9a99cc2e169db537a01f
BLAKE2b-256 552e965a5285bd8292994fb9b93bc62c15f0f97245b859df83481721b33291c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qc_permanent-0.0.2a1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for qc_permanent-0.0.2a1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 67efa27ad445370288e1582a4f388e46da481452af94cc3a6716db626736bdd0
MD5 384cd0ed5d97e023ff72015d2db92fc1
BLAKE2b-256 55fb270e4b4a9aa4b728ba747f5e5c8d452c2ecd090c5ecabe5a595b3ab850a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for qc_permanent-0.0.2a1-cp310-cp310-macosx_10_9_universal2.whl:

Publisher: publish_pypi.yml on theochem/matrix-permanent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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