ASTAR

ASTAR#

class pennylane_calculquebec.processing.steps.placement.ASTAR(machine_name: str, use_benchmark=True, q1_acceptance=0.5, q2_acceptance=0.5, excluded_qubits=[], excluded_couplers=[])#

Bases: Placement

finds a mapping between the circuit’s wires and the machine’s qubits using an ASTAR based traversal heuristic

constructor for placement algorithms

Parameters:
  • use_benchmark (bool, optional) – should we use benchmarks during placement? Defaults to True.

  • q1_acceptance (float, optional) – what is the level of acceptance for state 1 readout? Defaults to 0.5.

  • q2_acceptance (float, optional) – what is the level of acceptance for cz fidelity? Defaults to 0.5.

  • excluded_qubits (list, optional) – what qubits should we exclude from the mapping? Defaults to [].

  • excluded_couplers (list, optional) – what couplers should we exclude from the mapping? Defaults to [].

execute(tape)

places the circuit on the machine's connectivity using astar algorithm and comparing path lengths

execute(tape: QuantumTape) QuantumTape#

places the circuit on the machine’s connectivity using astar algorithm and comparing path lengths

Parameters:

tape (QuantumTape) – The quantum tape to act on

Raises:

Exception – There should be enough space on the machine to run the circuit

Returns:

The transformed quantum tape

Return type:

QuantumTape