![]() |
THIS CLASS IS DEPRECATED.
Inherits From: PointOptimizer
cirq.MergeSingleQubitGates(
*,
rewriter: Optional[Callable[[List[ops.Operation]], Optional[ops.OP_TREE]]] = None,
synthesizer: Optional[Callable[[ops.Qid, np.ndarray], Optional[ops.OP_TREE]]] = None
)
IT WILL BE REMOVED IN cirq v1.0
.
Use cirq.merge_k_qubit_unitaries instead.
Optimizes runs of adjacent unitary 1-qubit operations.
Args | |
---|---|
rewriter
|
Specifies how to merge runs of single-qubit operations
into a more desirable form. Takes a list of operations and
produces a list of operations. The default rewriter computes the
matrix of the run and returns a cirq.SingleQubitMatrixGate . If
rewriter returns None , that means "do not rewrite the
operations".
|
synthesizer
|
A special kind of rewriter that operates purely on
the unitary matrix of the intended operation. Takes a qubit
and a unitary matrix and returns a list of operations. Can't
be specified at the same time as rewriter . If synthesizer
returns None , that means "do not rewrite the operations used
to make this matrix".
|
Raises | |
---|---|
ValueError
|
If both a rewriter and synthesizer were specified. |
Methods
optimization_at
optimization_at(
circuit: cirq.Circuit
,
index: int,
op: cirq.Operation
) -> Optional[cirq.PointOptimizationSummary
]
Describes how to change operations near the given location.
For example, this method could realize that the given operation is an X gate and that in the very next moment there is a Z gate. It would indicate that they should be combined into a Y gate by returning PointOptimizationSummary(clear_span=2, clear_qubits=op.qubits, new_operations=cirq.Y(op.qubits[0]))
Args | |
---|---|
circuit
|
The circuit to improve. |
index
|
The index of the moment with the operation to focus on. |
op
|
The operation to focus improvements upon. |
Returns | |
---|---|
A description of the optimization to perform, or else None if no change should be made. |
optimize_circuit
optimize_circuit(
circuit: 'cirq.Circuit'
)
__call__
__call__(
circuit: 'cirq.Circuit'
)
Call self as a function.