SubstitutePass
- class SubstitutePass(collection_filter, gate, success_threshold=1e-08, cost=<bqskit.ir.opt.cost.functions.residuals.hilbertschmidt.HilbertSchmidtResidualsGenerator object>, instantiate_options={})[source]
Bases:
BasePassThe 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
BasePassfor more.