SubstitutePass
- class SubstitutePass(collection_filter, gate, success_threshold=1e-08, cost=<bqskit.ir.opt.cost.functions.residuals.hilbertschmidt.HilbertSchmidtResidualsGenerator object>, instantiate_options={})[source]
Bases:
BasePass
The SubstitutePass class.
The substitute pass will attempt to use instantiation to replace gates with other gates.
- __init__(collection_filter, gate, success_threshold=1e-08, cost=<bqskit.ir.opt.cost.functions.residuals.hilbertschmidt.HilbertSchmidtResidualsGenerator object>, instantiate_options={})[source]
Construct a SubstitutePass.
- Parameters:
collection_filter (
Callable[[Operation], bool]
) – A predicate that determines which operations should have substitution attempted on them.gate (
Gate
) – The gate to try substitute in.success_threshold (
float
) – The distance threshold that determines successful termintation. Measured in cost described by the hilbert schmidt cost function. (Default: 1e-8)cost (
CostFunction | None
) – The cost function that determines successful removal of a gate. (Default: HilbertSchmidtResidualsGenerator())(dict[str (instantiate_options) – Any]): Options passed directly to circuit.instantiate when instantiating circuit templates. (Default: {})
Attributes
The name of the pass.
Methods
execute
(*args, **kwargs)Map a function over iterable arguments in parallel.
get_connectivity
(_, data)Retrieve the current connectivity of the circuit.
get_model
(_, data)Retrieve the machine model from the data dictionary.
get_placement
(_, data)Retrieve the logical to physical qubit map from the data dictionary.
get_target
(_, data)Retrieve the target from the data dictionary.
in_parallel
(data)Return true if pass is being executed in a parallel.
run
(circuit, data)Perform the pass's operation, see
BasePass
for more.