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.8.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.8-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qcom-0.1.8.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.8.tar.gz
Algorithm Hash digest
SHA256 6bbdf389e126f575e3b03c4a9e4cfbd7c68efe31252edcf3db09c85a898cd7a9
MD5 abae9fbf9d8a5b35e8ab1d6fb2f899e3
BLAKE2b-256 46277627aeb3c3dd880d6f7c8d449fcc1bcab77d4289f238b18affefd280efc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for qcom-0.1.8.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.8-py3-none-any.whl.

File metadata

  • Download URL: qcom-0.1.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 39acc30435320c719ff7dcefcf37252c32ce41410c04c34242c6a3cbc565fa01
MD5 6ae244e2481e46bd632296f283a10abf
BLAKE2b-256 3fbc77fcd9f1464bb359531baa7318ddda57872ef6b2b51d98d7e460731693cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for qcom-0.1.8-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