C3XGate

class C3XGate(angle=0.7853981633974483, label=None, ctrl_state=None)[source]

The 3-qubit controlled X gate.

This implementation is based on Page 17 of [1].

References

[1] Barenco et al., 1995. https://arxiv.org/pdf/quant-ph/9503016.pdf

Create a new 3-qubit controlled X gate.

Parameters
  • angle (float) – The angle used in the controlled-U1 gates. An angle of π/4 yields the 3-qubit controlled X gate, an angle of π/8 the 3-qubit controlled sqrt(X) gate.

  • label (str or None) – An optional label for the gate [Default: None]

  • ctrl_state (int or str or None) – control state expressed as integer, string (e.g. ‘110’), or None. If None, use all 1s.

Attributes

C3XGate.ctrl_state

Return the control state of the gate as a decimal integer.

C3XGate.decompositions

Get the decompositions of the instruction from the SessionEquivalenceLibrary.

C3XGate.definition

Return definition in terms of other basic gates.

C3XGate.label

Return gate label

C3XGate.params

return instruction params.

Methods

C3XGate.add_decomposition(decomposition)

Add a decomposition of the instruction to the SessionEquivalenceLibrary.

C3XGate.assemble()

Assemble a QasmQobjInstruction

C3XGate.broadcast_arguments(qargs, cargs)

Validation and handling of the arguments and its relationship.

C3XGate.c_if(classical, val)

Add classical condition on register classical and value val.

C3XGate.control([num_ctrl_qubits, label, …])

Controlled version of this gate.

C3XGate.copy([name])

Copy of the instruction.

C3XGate.inverse()

Invert this gate.

C3XGate.is_parameterized()

Return True .IFF.

C3XGate.mirror()

For a composite instruction, reverse the order of sub-gates.

C3XGate.power(exponent)

Creates a unitary gate as gate^exponent.

C3XGate.qasm()

Return a default OpenQASM string for the instruction.

C3XGate.repeat(n)

Creates an instruction with gate repeated n amount of times.

C3XGate.to_matrix()

Return a Numpy.array for the gate unitary matrix.