Core Concepts¶
This library models Gaussian continuous-variable (CV) systems using mean vectors and covariance matrices in phase space. The main abstractions are designed around three objects:
GaussianCVState— a Gaussian stateGaussianCVSystem— a dynamical generatorGaussianSolution— a time-resolved trajectory
Gaussian State Representation¶
An \(n\)-mode Gaussian state is represented by:
a mean vector \(\mathbf{r} \in \mathbb{R}^{2n}\)
a covariance matrix \(V \in \mathbb{R}^{2n \times 2n}\)
The phase-space ordering used throughout the library is
This ordering is used consistently for:
state construction
subsystem extraction
Hamiltonian matrices
dissipative channels
metric evaluation
Mode Indexing¶
All public APIs use 1-indexed mode labels.
For an (n)-mode system:
valid mode labels are
1, 2, ..., nindex
0is invalid by design
Subsystems are specified using physical mode labels, for example:
(1,)for a single-mode subsystem(1, 2)for a two-mode subsystem
Internally, these are mapped to zero-based array positions.
Subsystem Ordering¶
Subsystems are always extracted in x-then-p form.
For subsystem (i_1, ..., i_k), the extracted ordering is
This ordering is not interleaved.
State Mutation Model¶
GaussianCVState methods such as squeezing, displacement, and two-mode mixing act in place and return self.
For example:
state = GaussianCVState.vacuum(2)
state.single_mode_squeeze((1.0, 0.0), 1)
state.single_mode_squeeze((1.0, 0.0), 2)
Use copy_state() when an independent copy is needed.
System Construction¶
GaussianCVSystem stores the dynamical generator of the problem, not the state.
A system is defined by:
a quadratic Hamiltonian matrix
a Lindblad Gram matrix
These determine the drift and diffusion matrices governing Gaussian moment evolution.
Time Evolution¶
State evolution is computed exactly from the Gaussian channel generated by the system.
The equations of motion have the form
where \(A\) is the drift matrix and \(D\) is the diffusion matrix.
The library evolves these moments using matrix exponentials.
Validation and Physicality¶
The library applies validation throughout construction and evolution.
This includes checks for:
finite numerical values
dimension consistency
valid subsystem indices
positive semidefinite covariance matrices
Two notions of validity are distinguished:
classical covariance validity: \(V \succeq 0\)
quantum physicality: \(V + \frac{i}{2}\Omega \succeq 0\)
Quantum physicality is enforced during evolution.
Finite-Memory Environments¶
The library supports a single-pole Ornstein–Uhlenbeck environment through an exact pseudomode embedding.
In this construction:
the system is enlarged by one auxiliary mode
the enlarged system is Markovian
the reduced dynamics reproduce finite-memory behavior
This provides a structured way to model non-Markovian effects while staying within the Gaussian formalism.