Gaussian Simulator#

class GaussianSimulator(d: int, config: Optional[piquasso.api.config.Config] = None)#

Performs photonic simulations using Gaussian representation.

The simulation (when executed) results in an instance of GaussianState.

Example usage:

with pq.Program() as program:
    pq.Q() | pq.Vacuum()

simulator = pq.GaussianSimulator(d=5)
result = simulator.execute(program)
Supported preparations:

Vacuum, Mean, Covariance, Thermal.

Supported gates:

Interferometer, Beamsplitter, Phaseshifter, MachZehnder, Fourier, GaussianTransform, Squeezing, QuadraticPhase, Squeezing2, ControlledX, ControlledZ, Displacement, PositionDisplacement, MomentumDisplacement, Graph.

Supported measurements:

HomodyneMeasurement, HeterodyneMeasurement, GeneraldyneMeasurement, ParticleNumberMeasurement, ThresholdMeasurement.

Supported channels:

DeterministicGaussianChannel, Attenuator.