# Class GaussianTransform¶

## Class Documentation¶

class GaussianTransform : public blackbird::Operation

Represents a Gaussian transformation For more details, see the Strawberry Fields convention page.

This operation stores a Gaussian transformation as a symplectic matrix, ready to be decomposed into squeezers, beamsplitters, and rotation gates.

Symplectic matrix $$S$$ accessible via:

• $$S$$: GaussianTransform->S1

Public Functions

GaussianTransform(floatmat symplectic, intvec m)

Constructor to initialize an Gaussian transform acting on modes m

Parameters
• symplectic: vector<vector<double>> representing the symplectic matrix
• m: vector<int> containing the list of modes the gate acts on
Exceptions
• invalid_argument: symplectic matrix should be square
• invalid_argument: symplectic matrix must have the size double the number of modes