Introduction
QuantumInputOutput.jl is a Julia framework for modeling the input-output theory with quantum pulses, using SLH (scattering, Lindblad, Hamiltonian) elements and rules. It combines:
- a symbolic layer based on SecondQuantizedAlgebra.jl to build models using SLH rules
- a numerical layer based on QuantumOptics.jl and QuantumCumulants.jl to simulate time dynamics and observables in a full quantum or higher-order meanfield approach, respectively
The typical workflow is:
- Build the SLH model symbolically
- Translate to numerical operators
- Evolve the system in time
- Analyze output modes and correlations
Key Features
- SLH modeling with cascade and concatenate rules
- Symbolic-to-numeric translation (including time-dependent couplings)
- Utilities for pulse modes, virtual cavities, interaction picture and pulse delay
- Two-time correlation functions and output-mode extraction
- Compatibility with QuantumOptics.jl and QuantumCumulants.jl
Installation
|pkg> add QuantumInputOutputWhere to Go
- Tutorial for a complete walkthrough of cavity scattering
- Theory for the input-output formalism with quantum pulses
- Implementation for the symbolic-to-numeric pipeline
- API for the full list of functions
- Examples for multiple different usage illustrations