|
| QCircuitGate () |
| Identity gate constructor. More...
|
|
| QCircuitGate (bitLenInt q1, bitLenInt q2) |
| Swap gate constructor More...
|
|
| QCircuitGate (bitLenInt trgt, const complex matrix[]) |
| Single-qubit gate constructor. More...
|
|
| QCircuitGate (bitLenInt trgt, const complex matrix[], const std::set< bitLenInt > &ctrls, const bitCapInt &perm) |
| Controlled gate constructor. More...
|
|
| QCircuitGate (bitLenInt trgt, const std::map< bitCapInt, std::shared_ptr< complex >> &pylds, const std::set< bitLenInt > &ctrls) |
| Uniformly controlled gate constructor (that only accepts control qubits is ascending order) More...
|
|
QCircuitGatePtr | Clone () |
|
bool | CanCombine (QCircuitGatePtr other, bool clifford=false) |
| Can I combine myself with gate other ? More...
|
|
void | Clear () |
| Set this gate to the identity operator. More...
|
|
void | AddControl (bitLenInt c) |
| Add control qubit. More...
|
|
bool | CanRemoveControl (bitLenInt c) |
| Check if a control qubit can be removed. More...
|
|
void | RemoveControl (bitLenInt c) |
| Remove control qubit. More...
|
|
bool | TryRemoveControl (bitLenInt c) |
| Check if I can remove control, and do so, if possible. More...
|
|
void | Combine (QCircuitGatePtr other) |
| Combine myself with gate other More...
|
|
bool | TryCombine (QCircuitGatePtr other, bool clifford=false) |
| Check if I can combine with gate other , and do so, if possible. More...
|
|
bool | IsIdentity () |
| Am I an identity gate? More...
|
|
bool | IsPhase () |
| Am I a phase gate? More...
|
|
bool | IsInvert () |
| Am I a Pauli X plus a phase gate? More...
|
|
bool | IsPhaseInvert () |
| Am I a combination of "phase" and "invert" payloads? More...
|
|
bool | IsCnot () |
| Am I a CNOT gate? More...
|
|
bool | IsAntiCnot () |
| Am I a CNOT gate? More...
|
|
bool | IsClifford () |
| Am I a Clifford gate? More...
|
|
bool | CanPass (QCircuitGatePtr other) |
| Do I commute with gate other ? More...
|
|
std::unique_ptr< complex[]> | MakeUniformlyControlledPayload () |
| To run as a uniformly controlled gate, generate my payload array. More...
|
|
std::vector< bitLenInt > | GetControlsVector () |
| Convert my set of qubit indices to a vector. More...
|
|
void | PostSelectControl (bitLenInt c, bool eigen) |
| Erase a control index, if it exists, (via post selection). More...
|
|