cirq.unitary | Cirq | Google Quantum AI (original) (raw)
Returns a unitary matrix describing the given value.
cirq.unitary(
val: Any,
default: Union[np.ndarray, TDefault] = RaiseTypeErrorIfNotProvided
) -> Union[np.ndarray, TDefault]
Used in the notebooks
Used in the tutorials |
---|
Introduction to Cirq Protocols Textbook algorithms in Cirq Quantum chess Operators and observables |
The matrix is determined by any one of the following techniques:
- The value has a
_unitary_
method that returns something besides None or NotImplemented. The matrix is whatever the method returned. - The value has a
_decompose_
method that returns a list of operations, and each operation in the list has a unitary effect. The matrix is created by aggregating the sub-operations' unitary effects. - The value has an
_apply_unitary_
method, and it returns something besides None or NotImplemented. The matrix is created by applying_apply_unitary_
to an identity matrix.
If none of these techniques succeeds, it is assumed that val
doesn't have a unitary effect. The order in which techniques are attempted is unspecified.
Args | |
---|---|
val | The value to describe with a unitary matrix. |
default | Determines the fallback behavior when val doesn't have a unitary effect. If default is not set, a TypeError is raised. Ifdefault is set to a value, that value is returned. |
Returns |
---|
If val has a unitary effect, the corresponding unitary matrix. Otherwise, if default is specified, it is returned. |
Raises | |
---|---|
TypeError | val doesn't have a unitary effect and no default value was specified. |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-15 UTC.