Skip to main content

Package to simulate hybrid superconducting qubits

Project description

HybridSuperQubits 🌀⚡

PyPI Version License Documentation Status

A Python framework for simulating hybrid semiconductor-superconductor quantum circuits.

Key Features ✨

  • Hybrid Circuit Simulation 🔬
    Unified framework for semiconductor-superconductor systems.

  • Advanced Noise Analysis 📉

    • Capacitive losses (t1_capacitive).
    • Inductive losses (t1_inductive).
    • Flux noise (tphi_1_over_f_flux).
    • Coherence Quantum Phase Slip (tphi_CQPS).
  • Professional Visualization 📊

    • Wavefunction plotting (plot_wavefunction).
    • Matrix element analysis (plot_matelem_vs_paramvals).
    • Spectrum vs parameter sweeps.
  • SC-Qubits Compatibility 🔄
    API-inspired interface for users familiar with scqubits

🚀 Installation

Follow these steps to install or contribute to the HybridSuperQubits library.

For End Users

If you only plan to use HybridSuperQubits (i.e., you do not need to modify or extend its functionality), you can install it directly from PyPI:

  1. (Optional) Create a Virtual Environment

    Conda example:

    conda create --name hsq_env python=3.10
    conda activate hsq_env
    

    Or using venv:

    python3 -m venv hsq_env
    source hsq_env/bin/activate  # macOS/Linux
    hsq_env/Scripts/activate     # Windows
    
  2. Install HybridSuperQubits via pip:

    pip install hybridsuperqubits
    

    To upgrade:

    pip install --upgrade hybridsuperqubits
    

    Note (macOS M1/M2/M3): If you run into issues with SciPy on Apple Silicon, install OpenBLAS first:

    brew install openblas
    pip install scipy
    

For Contributors or Developers

If you want to contribute to the project or modify the code:

  1. Fork and Clone the repository from GitHub (see detailed steps in CONTRIBUTING.md).

  2. Create a new branch for your feature or bug fix.

  3. (Optional) Set up a development environment:

    conda create --name hsq_dev python=3.10
    conda activate hsq_dev
    
  4. Install in Editable Mode:

    pip install -e .
    

    This lets you test changes locally without reinstalling the package each time.

  5. Run Tests (if applicable):

    pytest tests/
    

For more details on contributing guidelines, code style, testing, and pull requests, please read our CONTRIBUTING.md.

Basic Usage 🚀

Supported Qubit Types

  1. Andreev
  2. Gatemon
  3. Gatemonium
  4. Fermionic bosonic qubit

Initialize a hybrid qubit

from HybridSuperQubits import Andreev, Gatemon, Gatemonium, Ferbo

# Fermionic-Bosonic Qubit (Ferbo)
qubit = Ferbo(
    Ec=1.2,          # Charging energy [GHz]
    El=0.8,          # Inductive energy [GHz]
    Gamma=5.0,       # Coupling strength [GHz]
    delta_Gamma=0.1, # Asymmetric coupling [GHz]
    er=0.05,         # Fermi detuning [GHz]
    phase=0.3,       # External phase (2 pi Φ/Φ₀)
    dimension=100    # Hilbert space dimension
)

# Andreev Pair Qubit
andreev_qubit = Andreev(
    EJ=15.0,        # Josephson energy [GHz]
    EC=0.5,         # Charging energy [GHz]
    delta=0.1,      # Superconducting gap [GHz]
    ng=0.0,         # Charge offset
    dimension=50
)

# Gatemonium
gatemonium = Gatemonium(
    EJ=10.0,        # Josephson energy [GHz]
    EC=1.2,         # Charging energy [GHz]
    ng=0.0,         # Charge offset
    dimension=100
)

Documentation 📚

Full API reference and theory background available at: hybridsuperqubits.readthedocs.io

Contributing 🤝

We welcome contributions! Please see:

CONTRIBUTING.md for development guidelines

License

This project is licensed under the MIT License. However, it includes portions of code derived from scqubits, which is licensed under the BSD 3-Clause License.

For more details, please refer to the LICENSE file.

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

hybridsuperqubits-0.1.5.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

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

HybridSuperQubits-0.1.5-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

Details for the file hybridsuperqubits-0.1.5.tar.gz.

File metadata

  • Download URL: hybridsuperqubits-0.1.5.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for hybridsuperqubits-0.1.5.tar.gz
Algorithm Hash digest
SHA256 f235eba2c2f1e318d6ff0353e0123b07fdb4ffdcff167ade1c2aea9c0c916e9a
MD5 1e653ec2bbae7c65700ab6402c06c191
BLAKE2b-256 702ecc7665acfd700168980d5dca4c14e85d23839d1e39c7c9c5d87e46a25702

See more details on using hashes here.

File details

Details for the file HybridSuperQubits-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for HybridSuperQubits-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b33f9a913777c21e8df7043634b0ccd4b9a9fa044a5a74cb4d939c97b1a48c56
MD5 b0c768e2a8980cf6c4d00398468092b5
BLAKE2b-256 830d09cdd817bfb747b6217cc3ea7991dd7f99084fb336477c73aaea224b0574

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