Class Interferometer¶
Defined in File BlackbirdProgram.h
Inheritance Relationships¶
Base Type¶
public blackbird::Operation
(Class Operation)
Class Documentation¶
-
class blackbird::Interferometer : public blackbird::Operation¶
Represents an interferometer For more details, see the Strawberry Fields convention page.
This operation stores a linear interferometer unitary as a unitary matrix, ready to be decomposed into beamsplitters and rotation gates.
Unitary matrix \(U\) accessible via:
\(U\):
Interferometer->U1
Public Functions
-
inline Interferometer(complexmat unitary, intvec m)¶
Constructor to initialize an interferometer acting on modes
m
- Parameters
unitary –
vector<vector<complex<double>>>
representing the unitary matrixm –
vector<int>
containing the list of modes the gate acts on
- Throws
invalid_argument – unitary matrix should be square
invalid_argument – unitary matrix must have the same size as the number of modes