View source on GitHub |
A convenient description of an arbitrary two-qubit operation.
cirq.KakDecomposition(
*,
global_phase: complex = complex(1),
single_qubit_operations_before: Optional[Tuple[np.ndarray, np.ndarray]] = None,
interaction_coefficients: Tuple[float, float, float],
single_qubit_operations_after: Optional[Tuple[np.ndarray, np.ndarray]] = None
)
Any two qubit operation U can be decomposed into the form
U = g · (a1 ⊗ a0) · exp(i·(x·XX + y·YY + z·ZZ)) · (b1 ⊗ b0)
This class stores g, (b0, b1), (x, y, z), and (a0, a1).
References | |
---|---|
'An Introduction to Cartan's KAK Decomposition for QC Programmers' https://arxiv.org/abs/quant-ph/0507171 |
Methods
__eq__
__eq__(
other: _SupportsValueEquality
) -> bool
__ne__
__ne__(
other: _SupportsValueEquality
) -> bool