cirq.unitary
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
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. 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 2024-06-27 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "Last updated 2024-06-27 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 2024-06-27 UTC."],[],[]]