Skip to main content

Quantum computation and thermodynamic analysis tools

Project description

QCOM

Quantum Computation (QCOM) is a Python package developed as part of Avi Kaufman’s 2025 honors thesis in physics. Designed to support the Meurice Research Group, QCOM focuses on analyzing thermodynamic properties of quantum systems — particularly those involving neutral atom (Rydberg) platforms.

QCOM enables users to compute exact results for model Hamiltonians, analyze probability distributions from external sources such as DMRG or quantum hardware (e.g., QuEra’s Aquila), and calculate both classical and quantum information measures such as Shannon entropy, von Neumann entropy, and mutual information.


Installation

You can install the latest release of QCOM directly from PyPI:

pip install QCOM

Confirm Installation

In the python environement you've installed qcom, running the following code:

import qcom
print(dir(qcom))

You should see an output like this:

['ProgressManager', '__author__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', 'build_ising_hamiltonian', 'build_ising_hamiltonian_ladder', 'build_rydberg_hamiltonian_chain', 'build_rydberg_hamiltonian_ladder', 'classical_info', 'combine_datasets', 'compute_N_of_p', 'compute_N_of_p_all', 'compute_mutual_information', 'compute_reduced_density_matrix', 'compute_reduced_shannon_entropy', 'compute_shannon_entropy', 'contextmanager', 'create_density_matrix', 'csr_matrix', 'cumulative_distribution', 'data', 'eigsh', 'find_eigenstate', 'get_eigenstate_probabilities', 'hamiltonians', 'identity', 'introduce_error_data', 'io', 'kron', 'normalize_to_probabilities', 'np', 'order_dict', 'os', 'parse_file', 'parse_parq', 'part_dict', 'pd', 'print_most_probable_data', 'quantum_info', 'random', 'sample_data', 'save_data', 'save_dict_to_parquet', 'sys', 'time', 'utils', 'von_neumann_entropy_from_hamiltonian', 'von_neumann_entropy_from_rdm']

Core Capabilities

  • Build exact Hamiltonians for:

    • 1D Rydberg atom chains and ladders
    • Quantum Ising models in chain and ladder geometries
  • Efficiently compute:

    • Ground states and eigenstate properties
    • Von Neumann entanglement entropy from a Hamiltonian or reduced density matrix
    • Shannon entropy and mutual information from classical distributions
  • Parse, normalize, and sample binary data from experimental or simulation sources

  • Apply and study noise models (bit-flip errors) on binary datasets

  • Save and load results in standard formats (.txt, .parquet)

  • Monitor long computations using a flexible ProgressManager


Example Use Cases

  • Construct a ladder Rydberg Hamiltonian and compute its ground state entropy
  • Parse a binary probability dataset from an experiment and calculate classical mutual information
  • Simulate the effects of readout error on a quantum distribution
  • Combine or sample from large bitstring datasets for postprocessing

Tutorials


Testing

The unit tests included in this repository are designed to verify that core functions behave as expected under typical use cases. While they provide useful coverage of the package’s functionality, they are not exhaustive and do not guarantee the absence of logical errors in every edge case. Continued validation, peer review, and scientific scrutiny are encouraged to ensure the accuracy and reliability of the results produced by this package.


Project Status

QCOM is an active work in progress. New features will be added to meet the evolving needs of the Meurice Group or other researchers. Suggestions, bug reports, and collaborations are welcome.

Last updated: March 31, 2025

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

qcom-0.1.9.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

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

qcom-0.1.9-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file qcom-0.1.9.tar.gz.

File metadata

  • Download URL: qcom-0.1.9.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for qcom-0.1.9.tar.gz
Algorithm Hash digest
SHA256 ccac718e19aa7423145ca56d5f2da1ca7acc775884083c5af2bb852650033c4d
MD5 a504ac0dc5d40b116ad27ffabffea473
BLAKE2b-256 073b71939889b7bb8e85dec24c150bd7f1289341c9ad2b9d0839b30fc4ed80e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for qcom-0.1.9.tar.gz:

Publisher: python-publish.yml on AviKaufman/QCOM

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

File details

Details for the file qcom-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: qcom-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for qcom-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 07d7380f80ffe98c1208f0494e1943002fcb4684d1420e71eaf8f14e311149aa
MD5 a819b742723773efd66bd8a92dcf2d86
BLAKE2b-256 c4ed81bac6f44bb7fb7b3da4e2370540c315deb1fa42df063bc8bbf4f3b366d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for qcom-0.1.9-py3-none-any.whl:

Publisher: python-publish.yml on AviKaufman/QCOM

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