Skip to main content

A Python package for simulating quantum circuits in non-Markovian environments using free-pole hierarchical equations of motion (FP-HEOM) and tensor-train (TT) compression.

Project description

License GitHub Workflow Status Code Style: black


TensorHEOM

Authors: Kiyoto Nakamura, Dennis Herb

TensorHEOM is a Python package for simulating quantum circuits in non-Markovian environments using free-pole hierarchical equations of motion (FP-HEOM) and tensor-train (TT) compression.

The package is designed for superconducting-qubit simulations and connects circuit-level Qiskit input with microscopic open-system dynamics.

Installation

Install TensorHEOM from PyPI with

pip install ttheom

Basic usage

A typical workflow is:

  1. Define a Qiskit quantum circuit.
  2. Specify system, bath, and numerical parameters.
  3. Run the TensorHEOM simulation.
  4. Analyze the reduced density matrix, fidelity, and entanglement measures.
from qiskit import QuantumCircuit
from ttheom import *

# Set system parameters
system_kwargs = {
    "numQ": 2,
    "freqQ": [5, 5], # GHz
    "rhoIni": [
        [1, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0],
    ],
    "gateTime": [16, 16, 50], # ns
    "idlingTime": 1, # ns
} 

omegaQmax, rho = prepareSystemArgs(**system_kwargs)

# Define input circuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)

system_kwargs["qc"] = qc

# Set bath parameters
bath_kwargs = {    
    "T": 30, # mK
    "T1": 32, # us
    "omegaC": 20,
    "exp": 1/8,
    "tol": 1e-4,
}
bathParams = prepareBathArgs(rho, omegaQmax, **bath_kwargs)

# AAA decomposition
z, d = getBathParams(bathParams[0])

# Set simulation parameters
simulation_kwargs= {
    "dtFB": 3.0, # ps
    "depth": [1, 1],
    "bondDim": 5,
    "strideTime": 0.1, # ns
    "useRFPlus": False,
    "isRK13": False,
}

# Run the calculation 
kwargs = {**system_kwargs, **bath_kwargs, **simulation_kwargs}
kwargs["directory"] = "results"
kwargs["fileName"] = "package_test"
calcTimeEvo(**kwargs) 

Graphical interface

TensorHEOM also provides a graphical user interface:

from ttheom import TensorHeomApp

TensorHeomApp().mainloop()

Documentation and examples

Example scripts and workflows are provided in the repository and in the accompanying paper.

References

Recent papers from our group:

License

TensorHEOM is distributed under the BSD 3-Clause License.

Support

For questions or support, please contact Dennis Herb at dennis.herb@uni-ulm.de.

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

ttheom-0.1.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

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

ttheom-0.1.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file ttheom-0.1.0.tar.gz.

File metadata

  • Download URL: ttheom-0.1.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ttheom-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4322cfa9bcaf19bc9ed6267b035f98f5eeef73762669bb35249e6e113403cc93
MD5 6490a87ac655521a6e9e10c6b53ee7fe
BLAKE2b-256 696840aa0319289c5225e9c645f21ce45c8b1bdcb72ddd4fec7e22f58ed28342

See more details on using hashes here.

File details

Details for the file ttheom-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ttheom-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ttheom-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aedcd80c62a9853ae86bd679c09754434c2f9492608b7cf31eb23d7c4c2f3020
MD5 9d1c3a930e2fe40f5c86b31b92e80b3d
BLAKE2b-256 23ac4aaa1cd688b03dce63207b57d32175de4510456806c94a00eae0ccc92672

See more details on using hashes here.

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