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.6.tar.gz (23.8 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.6-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hybridsuperqubits-0.1.6.tar.gz
  • Upload date:
  • Size: 23.8 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.6.tar.gz
Algorithm Hash digest
SHA256 7cd6eed27414351ec4850c9bd02519448107cc4cef607e0675a33c42aaea81ed
MD5 db28bc158e673d34da7e38ca01860572
BLAKE2b-256 398fc6805fbb2adde45843a6199733ad4c49f34a29ae1b2258f16e951afc346c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for HybridSuperQubits-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9923bd2fefdee0b082e889dcfe5274250156fdc249685afac340ad2d8d92cb42
MD5 ea30d75ab2bda3f21c26c5a227ec315a
BLAKE2b-256 23b87fc967da208e51fd279c0b270f02e7099adef884bfbe13779ece868a5916

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