cirq.merge_k_qubit_unitaries
Merges connected components of unitary operations, acting on <= k qubits.
cirq.merge_k_qubit_unitaries(
circuit: 'cirq.AbstractCircuit',
*,
context: Optional['cirq.TransformerContext'] = None,
k: int = 0,
rewriter: Optional[Callable[['cirq.CircuitOperation'], 'cirq.OP_TREE']] = None
) -> 'cirq.Circuit'
Used in the notebooks
Uses rewriter to convert a connected component of unitary operations acting on <= k-qubits
into a more desirable form. If not specified, connected components are replaced by a single
cirq.MatrixGate
containing unitary matrix of the merged component.
Args |
circuit
|
Input circuit to transform. It will not be modified.
|
context
|
cirq.TransformerContext storing common configurable options for transformers.
|
k
|
Connected components of unitary operations acting on <= k qubits are merged.
|
rewriter
|
Callable type that takes a cirq.CircuitOperation , encapsulating a connected
component of unitary operations acting on <= k qubits, and produces a cirq.OP_TREE .
Specifies how to merge the connected component into a more desirable form.
|
Returns |
Copy of the transformed input circuit.
|
Raises |
ValueError
|
If k <= 0
|
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.
[[["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."],[],[]]