BasePass
- class BasePass[source]
Bases:
ABC
The abstract base for BQSKit compiler passes.
All BQSKit algorithms must inherit from BasePass to be run within the compiler framework. Each child class will need to implement its algorithm inside of the
run()
method.Examples
>>> class PrintCNOTCountPass(BasePass): ... async def run(self, circuit: Circuit, data: PassData) -> None: ... print(f"Number of CNOTs: {circuit.count(CNOTGate())}")
- __init__()
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 on circuit.