QuantumInputOutput.jl

Composable input-output models for propagating quantum pulses

Symbolic SLH network construction and numerical pulse dynamics.

QuantumInputOutput.jl Gaussian-pulse logo
⇢

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 QuantumInputOutput

Then start with the Tutorial, which walks through the complete pulse-scattering workflow from model construction to output-mode extraction.