EmbedAllPermutationsPass
- class EmbedAllPermutationsPass(input_perm=False, output_perm=True, vary_topology=True, inner_synthesis=<bqskit.passes.synthesis.leap.LEAPSynthesisPass object>, scoring_fn=<function multi_qudit_op_count>)[source]
Bases:
BasePass
Embed permutation aware synthesis results into a flow for future use.
- __init__(input_perm=False, output_perm=True, vary_topology=True, inner_synthesis=<bqskit.passes.synthesis.leap.LEAPSynthesisPass object>, scoring_fn=<function multi_qudit_op_count>)[source]
Construct a EmbedAllPermutationsPass.
- Parameters:
input_perm (
bool
) – If true, vary the input permutation during synthesis. (Default: False)output_perm (
bool
) – If true, vary the output permutation during synthesis. (Default: True)vary_topology (
bool
) – If true, vary the desired coupling graph during synthesis. (Default: True)inner_synthesis (
SynthesisPass
) – The synthesis algorithm used on all permutations. (Default:LEAPSynthesisPass
)scoring_fn (
Callable[[Circuit], float]
) – The scoring function used when comparing the original circuit to the synthesized circuit with the same configuration. The smallest score wins. (Default:multi_qudit_op_count()
)
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.