Implements a single-qubit operation with a PhasedXZ gate.
cirq.single_qubit_matrix_to_phxz(
mat: np.ndarray, atol: float = 0
) -> Optional[cirq.PhasedXZGate
]
Used in the notebooks
Under the hood, this uses deconstruct_single_qubit_matrix_into_angles which
converts the given matrix to a series of three rotations around the Z, Y, Z
axes. This is then converted to a phased X rotation followed by a Z, in the
form of a single PhasedXZ gate.
Args |
mat
|
The 2x2 unitary matrix of the operation to implement.
|
atol
|
A limit on the amount of error introduced by the
construction.
|
Returns |
A PhasedXZ gate that implements the given matrix, or None if it is
close to identity (trace distance <= atol).
|