By default, the function assumes issubset(qubit_set(map_func(op, moment_index)), op.qubits) is
True.
Args
circuit
Input circuit to apply the transformations on. The input circuit is not mutated.
map_func
Mapping function from (cirq.Operation, moment_index) to a cirq.OP_TREE. If the
resulting optree spans more than 1 moment, it's inserted in-place in the same moment as
cirq.CircuitOperation(cirq.FrozenCircuit(op_tree)).with_tags(MAPPED_CIRCUIT_OP_TAG)
to preserve moment structure. Utility methods like cirq.unroll_circuit_op can
subsequently be used to unroll the mapped circuit operation.
deep
If true, map_func will be recursively applied to circuits wrapped inside
any circuit operations contained within circuit.
raise_if_add_qubits
Set to True by default. If True, raises ValueError if
map_func(op, idx) adds operations on qubits outside of op.qubits.
tags_to_ignore
Sequence of tags which should be ignored while applying map_func on
tagged operations -- i.e. map_func(op, idx) will be called only for operations that
satisfy set(op.tags).isdisjoint(tags_to_ignore).
Raises
ValueError if issubset(qubit_set(map_func(op, idx)), op.qubits) is False and
raise_if_add_qubits is True.
Returns
Copy of input circuit with mapped operations (wrapped in a tagged CircuitOperation).
[[["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-10-08 UTC."],[],[]]