Class GaussianTransform¶
Defined in File BlackbirdProgram.h
Inheritance Relationships¶
Base Type¶
public blackbird::Operation
(Class Operation)
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
symplectic –
vector<vector<double>>
representing the symplectic matrixm –
vector<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