API Reference
SLH type
SLHQuantumSystems.SLH
— TypeSLH(name, inputs, outputs, S, L, H)
An SLH triple describes an open quantum system. See Combes, arXiv.1611.00375
The name of the system should be unique. When multiple systems are combined, the names of their inputs and outputs will have the system name appended to them. The inputs and outputs describe 'ports' where signals leave and enter the system. Quantum systems must have the same number of inputs and outputs, which we denote by n.
size(S) = (n, n) <- S is an nxn matrix
size(L) = (n,)
size(H) = ()
The two ways of combining SLH systems are concatenate() and feedbackreduce()
SLH Operations
SLHQuantumSystems.concatenate
— Functionconcatenate(name, syslist::Vector{SLH})
creates a composite system with no interconnections. Combes eq. 59
When systems are concatenated, the names of their inputs, outputs, operators, parameters, and Hilbert spaces are 'promoted' by prepending the name of the system to the existing name. This prevents name collisions as long as all SLHSystems are created with a unique name.
SLHQuantumSystems.feedbackreduce
— Functionfeedbackreduce(A::SLH,output,input)
Connects the output port to the input port, reducing the number of outputs and inputs by one each. Combes eq 61.
SLHQuantumSystems.operators
— Functionoperators(sys)
returns all the quantum operators contained in the system's Hamiltonian.
SLHQuantumSystems.parameters
— Functionparameters(sys)
returns all the symbolic numbers contained in the system's Hamiltonian and coupling vector L.
Symbolic Utilities
SLHQuantumSystems.get_qnumbers
— Functionget_qnumbers(expr)
Extract all quantum operators from an expression.
Arguments
expr
: A symbolic expression
Returns
Set
: Set of quantum operators found in the expression
SLHQuantumSystems.get_cnumbers
— Functionget_numsymbols(expr)
Extract all symbolic parameters from an expression.
Arguments
expr
: A symbolic expression
Returns
Set
: Set of symbolic parameters found in the expression
SLHQuantumSystems.get_additive_terms
— Functionget_additive_terms(expr)
Extract additive terms from a quantum operator expression.
Takes an expression containing quantum operators and returns a list of terms that contain no addition, only multiplication. Summing all returned terms results in the original expression.
Arguments
expr
: A symbolic expression containing quantum operators
Returns
Vector
: List of terms without addition operators
Component Library
SLHQuantumSystems.cavity
— Functioncavity(name)
Create a basic optical cavity SLH system.
Creates a single-mode cavity with detuning and decay. The cavity has one input and one output port with direct transmission (S=1).
Arguments
name
: Symbol identifying the cavity (used for operator and parameter naming)
Returns
SLH
: System with Hamiltonian H = Δ·a†a and coupling L = [√κ·a]
Parameters
κ
: Cavity decay rateΔ
: Cavity detuning from driving field
SLHQuantumSystems.squeezing_cavity
— Functionsqueezing_cavity(name)
Create a squeezing cavity SLH system.
Creates a cavity that generates squeezed light through a parametric interaction (two-mode squeezing Hamiltonian).
Arguments
name
: Symbol identifying the cavity (used for operator and parameter naming)
Returns
SLH
: System with squeezing Hamiltonian H = iϵ(a†² - a²) and coupling L = [√κ·a]
Parameters
κ
: Cavity decay rateϵ
: Squeezing strength
SLHQuantumSystems.radiation_pressure_cavity
— Functionradiation_pressure_cavity(name)
Create an optomechanical cavity with radiation pressure coupling.
Creates a two-mode system with an optical cavity mode coupled to a mechanical oscillator through radiation pressure.
Arguments
name
: Symbol identifying the system (used for operator and parameter naming)
Returns
SLH
: Optomechanical system with optical and mechanical modes
Parameters
κ
: Cavity decay rateΔ
: Cavity detuningΩ
: Mechanical frequencyg
: Optomechanical coupling strength
SLHQuantumSystems.qed_cavity
— Functionqed_cavity(name)
Create a cavity QED system with a two-level atom.
Creates a cavity containing a two-level atom with Jaynes-Cummings coupling and an external driving field.
Arguments
name
: Symbol identifying the system (used for operator and parameter naming)
Returns
SLH
: System with cavity-atom interaction and driving
Parameters
Δ
: Cavity detuningg
: Atom-cavity coupling strengthκ
: Cavity decay rateh
: External driving amplitude
Function Index
SLHQuantumSystems.SLH
SLHQuantumSystems.cavity
SLHQuantumSystems.concatenate
SLHQuantumSystems.feedbackreduce
SLHQuantumSystems.get_additive_terms
SLHQuantumSystems.get_cnumbers
SLHQuantumSystems.get_qnumbers
SLHQuantumSystems.operators
SLHQuantumSystems.parameters
SLHQuantumSystems.qed_cavity
SLHQuantumSystems.radiation_pressure_cavity
SLHQuantumSystems.squeezing_cavity