SLHQuantumSystems.jl
SLHQuantumSystems.jl is a Julia package for creating and composing open quantum systems using the SLH framework.
Quick Start
Get started by running one of the examples!
julia> include("examples/cascadedcavities.jl")
Combined system Hamiltonian: (A_ω*(A_a′*A_a)+B_ω*(B_a′*B_a)+(0.0 - 0.5im)*sqrt(A_κ)*conj(sqrt(B_κ))*(A_a*B_a′)+(-0.0 + 0.5im)*conj(sqrt(A_κ))*sqrt(B_κ)*(A_a′*B_a)) System operators: Set(SecondQuantizedAlgebra.QNumber[A_a, B_a′, A_a′, B_a]) System parameters: Set(SymbolicUtils.Symbolic[B_κ, B_ω, A_κ, A_ω])
Overview of SLH systems
The SLH framework represents each open quantum systems with three components:
- S: Scattering matrix describing direct input-output coupling of external (bath) modes
- L: Coupling vector describing the interaction of the internal modes with the external modes
- H: System Hamiltonian describing internal dynamics
Component Library
The SLH framework enables you to create complicated quantum systems by combining simple, reusable components
- Pre-built quantum components including:
- Basic cavities
- Squeezing cavities
- Radiation pressure cavities
- Jaynes-Cummings QED cavity
Dependencies
- SecondQuantizedAlgebra.jl provides the symbolic algebra system for quantum operators
References
This package was inspired by QNET, a python package for working with SLH systems.
The SLH framework for modeling quantum input-output networks