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")SLH("sys", SLHQuantumSystems.Subspace[OpticalMode("A_"), OpticalMode("B_")], Dict{Symbol, SymbolicUtils.BasicSymbolic{Real}}(:B_l => B_l, :A_ω => A_ω, :B_ω => B_ω, :A_κ => A_κ, :A_l => A_l, :B_κ => B_κ), ["B_in"], ["A_out"], [1.0;;], SecondQuantizedAlgebra.QAdd[(A_ω*(A_a)+B_ω*(B_a))], (B_l*(B_a′*B_a)+(0.0 - 0.5im)*A_ω*B_ω*(A_a′*B_a)+(0.0 + 0.5im)*A_ω*B_ω*(A_a*B_a′)+A_l*(A_a′*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 [1]
- [1]
- J. Combes, J. Kerckhoff and M. Sarovar. The SLH framework for modeling quantum input-output networks. Advances in Physics: X 2, 784–888 (2017), arXiv:1611.00375 [quant-ph].