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.2.0.tar.gz (20.2 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.2.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for qcom-0.2.0.tar.gz
Algorithm Hash digest
SHA256 213308da4157601ba48c2c80d917012af09f2afcb82a50407905da61348a0de7
MD5 43c23c145abbf985937569725c199f53
BLAKE2b-256 3a13ffd4b62477c44f29710cf934842b2c9c399595ccd989c9a0d84184523f99

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: qcom-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.3 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 09c2ca567ace3e1f05ecf0aca9b2b12ef7c89e07883aa852f0f5eeedc1acc5ba
MD5 f03a311864c4c91ae8e1ce37936921c7
BLAKE2b-256 4581b9be1df3c5252defc956601a2de94fd9579d1de9444de34a5d37e20a9968

See more details on using hashes here.

Provenance

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