Class Sgate

Inheritance Relationships

Base Type

Class Documentation

class blackbird::Sgate : public blackbird::Operation

Represents the squeeze gate. For more details, see the Strawberry Fields convention page.

Squeezing parameter \(z\) is accessible via:

  • \(r=|z|\): Sgate->f1

  • \(\phi=\text{arg}(z)\): Sgate->f2

Public Functions

inline Sgate(floatvec r_phase, intvec m)

Constructor to initialize a Sgate acting on mode m

Parameters
  • r_phasevector<double> of length 2 containing the squeezing magnitude and phase

  • m – mode gate acts on

inline Sgate(complexvec alpha, intvec m)

Constructor that throws an error if complex parameters are provided.

Parameters
  • alphavector<complex<double>> parameters

  • m – mode gate acts on

Throws

invalid_argumentOperation must have real arguments

inline Sgate(intvec alpha, intvec m)

Constructor that throws an error if integer parameters are provided.

Parameters
  • alphavector<int> parameters

  • m – mode gate acts on

Throws

invalid_argumentOperation must have real arguments