cirq.unitary
Returns a unitary matrix describing the given value.
cirq.unitary(
val: Any, default: (np.ndarray | TDefault) = RaiseTypeErrorIfNotProvided
) -> (np.ndarray | TDefault)
Used in the notebooks
The matrix is determined by the first of these strategies that succeeds:
- If the value is a NumPy array, it is returned directly.
- The value has a
_unitary_ method that returns something besides None or
NotImplemented. The matrix is whatever the method returned.
- 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.
- 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.
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.
If default 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 2026-06-30 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-06-30 UTC."],[],[]]