Class CKgate

Inheritance Relationships

Base Type

Class Documentation

class CKgate : public blackbird::Operation

Represents the cross-Kerr interaction. For more details, see the Strawberry Fields convention page.

Cross-Kerr parameter \(\kappa\) accessible via:

  • \(\kappa\): CKgate->f1

Public Functions

CKgate(complexvec s, intvec m)

Constructor that throws an error if complex parameters are provided.

Parameters
  • s: vector<complex<double>> parameters
  • m: vector<int> containing both modes the gate acts on
Exceptions
  • invalid_argument: Operation must have real arguments

CKgate(intvec s, intvec m)

Constructor that throws an error if integer parameters are provided.

Parameters
  • s: vector<int> parameters
  • m: vector<int> containing both modes the gate acts on
Exceptions
  • invalid_argument: Operation must have real arguments

CKgate(floatvec s, intvec m)

Constructor to initialize a CKgate acting on modes m

Parameters
  • s: vector<double> of length 1 containing the parameter :math:\kappa
  • m: vector<int> containing both modes the gate acts on