GeneralizedSabreRoutingPass

class GeneralizedSabreRoutingPass(decay_delta=0.001, decay_reset_interval=5, decay_reset_on_gate=True, extended_set_size=20, extended_set_weight=0.5)[source]

Bases: BasePass, GeneralizedSabreAlgorithm

Uses the Sabre algorithm to route the circuit.

See GeneralizedSabreAlgorithm for more info.

__init__(decay_delta=0.001, decay_reset_interval=5, decay_reset_on_gate=True, extended_set_size=20, extended_set_weight=0.5)

Construct a GeneralizedSabreAlgorithm.

Parameters:
  • decay_delta (float) – The amount to adjust the decay factor by each time a swap is applied. Set to zero to disable decay. (Default: 0.001)

  • decay_reset_interval (int) – The amount of swaps to apply before reseting the decay factors. (Default: 5)

  • decay_reset_on_gate (bool) – If true, reset decay factors when a logical gate is applied. (Default: True)

  • extended_set_size (int) – The size of the look-ahead or extended set. Set to zero to disable look ahead. (Default: 20)

  • extended_set_weight (float) – The weight on the extended set term when scoring potential swaps. (Default: 0.5)

Attributes

name

The name of the pass.

Methods

backward_pass(circuit, pi, cg)

Apply a backward pass of the Sabre algorithm to pi.

execute(*args, **kwargs)

Map a function over iterable arguments in parallel.

forward_pass(circuit, pi, cg[, modify_circuit])

Apply a forward pass of the Sabre algorithm to pi.

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.