QuantumInputOutput.jl
Composable input-output models for propagating quantum pulses
Symbolic SLH network construction and numerical pulse dynamics.
Compose quantum networks
Build quantum networks from SLH components using cascade, concatenation, and feedback reduction.
Embed traveling pulses
Represent selected temporal input and output modes as virtual cavities inside an ordinary open quantum system.
Translate to numerics
Translate symbolic SLH models into numerical representations for full Hilbert-space or cumulant-based dynamics.
Recover output modes
Compute field correlations, identify populated temporal modes, and promote selected outgoing modes back into explicit quantum subsystems.
Additional features
Use interaction-picture transformations for efficient simulations and virtual delay cavities to model pulse propagation delays.
QuantumInputOutput.jl is a Julia framework for constructing and simulating quantum input-output networks with propagating pulses, using the SLH (scattering, Lindblad, Hamiltonian) and virtual cavity formalism. The package separates physical model construction from numerical evolution: users describe the network and the traveling modes, while QuantumInputOutput derives the corresponding symbolic Hamiltonian, coupling operators, and scattering structure needed by standard open-system solvers.
Core Workflow
1. Compose the network
Represent quantum systems and their input-output connections as SLH elements, then combine them algebraically using cascade, concatenation, and feedback reduction. This keeps the model close to the physical network instead of requiring a manual derivation of the final master equation.
2. Embed propagating pulses
Selected temporal input and output modes are represented by virtual cavities with time-dependent couplings. Traveling quantum states therefore become ordinary quantum degrees of freedom that can be evolved with standard open-system methods.
3. Choose the numerical representation
The symbolic model can be translated to numerical operators for full Hilbert-space calculations with QuantumOptics.jl, or used with QuantumCumulants.jl for reduced moment dynamics. QuantumInputOutput owns the network and pulse representation rather than a single numerical solver.
4. Analyze the outgoing field
Two-time field correlations provide a temporal-mode decomposition of the outgoing radiation. Dominant output modes can then be treated as explicit quantum subsystems for state and observable calculations.
See the Theory for the underlying input-output and virtual-cavity formalism, Implementation for the symbolic-to-numeric pipeline, API for the public interface, and Relevant Literature for the foundational papers.
Get Started
Install the package with Julia's package manager:
pkg> add QuantumInputOutputThen start with the Tutorial, which walks through the complete pulse-scattering workflow from model construction to output-mode extraction.