# Class GaussianTransform¶

## Class Documentation¶

class blackbird::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

inline GaussianTransform(floatmat symplectic, intvec m)

Constructor to initialize an Gaussian transform acting on modes m

Parameters
• symplecticvector<vector<double>> representing the symplectic matrix

• mvector<int> containing the list of modes the gate acts on

Throws
• invalid_argument – symplectic matrix should be square

• invalid_argument – symplectic matrix must have the size double the number of modes