Skip to content

bloqade.lanes.heuristics.logical.placement.LogicalPlacementStrategyNoHome

← Module overview

classLogicalPlacementStrategyNoHomesource

bloqade.lanes.heuristics.logical.placement.LogicalPlacementStrategyNoHome

Bases: LogicalPlacementMethods, MoveToPlacementStrategyABC

Signature
class LogicalPlacementStrategyNoHome(arch_spec: ArchSpec = get_arch_spec(), H_lookahead: int = 4, gamma: float = 0.85, lambda_lookahead: float = 0.5, K_candidates: int = 8, large_cost: float = 1000000000.0, lane_move_overhead_cost: float = 0.0, top_bus_signatures: int = 6, bus_reward_rho: float = 0.7)

Parameters

NameTypeDefaultDescription
arch_specArchSpecget_arch_spec()
H_lookaheadint4
gammafloat0.85
lambda_lookaheadfloat0.5
K_candidatesint8
large_costfloat1000000000.0
lane_move_overhead_costfloat0.0
top_bus_signaturesint6
bus_reward_rhofloat0.7

Attributes

NameTypeDefaultDescription
arch_specArchSpecfield(default_factory=get_arch_spec)
H_lookaheadint4
gammafloat0.85
lambda_lookaheadfloat0.5
K_candidatesint8
large_costfloat1000000000.0
lane_move_overhead_costfloat0.0
top_bus_signaturesint6
bus_reward_rhofloat0.7

methodcompute_movessource

bloqade.lanes.heuristics.logical.placement.LogicalPlacementStrategyNoHome.compute_moves

Signature
def compute_moves(state_before: ConcreteState, state_after: ConcreteState) -> tuple[tuple[LaneAddress, ...], ...]

Parameters

NameTypeDescription
state_beforeConcreteState
state_afterConcreteState

Returns

tuple[tuple[LaneAddress, ...], ...]

source

methodchoose_return_layoutsource

bloqade.lanes.heuristics.logical.placement.LogicalPlacementStrategyNoHome.choose_return_layout

Signature
def choose_return_layout(state_before: ConcreteState, controls: tuple[int, ...], targets: tuple[int, ...], lookahead_cz_layers: tuple[tuple[tuple[int, ...], tuple[int, ...]], ...] = (), skip_qubits: frozenset[int] = frozenset()) -> tuple[ConcreteState, tuple[tuple[LaneAddress, ...], ...]]

Parameters

NameTypeDefaultDescription
state_beforeConcreteStaterequired
controlstuple[int, ...]required
targetstuple[int, ...]required
lookahead_cz_layerstuple[tuple[tuple[int, ...], tuple[int, ...]], ...]()
skip_qubitsfrozenset[int]frozenset()

Returns

tuple[ConcreteState, tuple[tuple[LaneAddress, ...], ...]]

source

methodcz_placementssource

bloqade.lanes.heuristics.logical.placement.LogicalPlacementStrategyNoHome.cz_placements

Signature
def cz_placements(state: AtomState, controls: tuple[int, ...], targets: tuple[int, ...], lookahead_cz_layers: tuple[tuple[tuple[int, ...], tuple[int, ...]], ...] = ()) -> AtomState

Parameters

NameTypeDefaultDescription
stateAtomStaterequired
controlstuple[int, ...]required
targetstuple[int, ...]required
lookahead_cz_layerstuple[tuple[tuple[int, ...], tuple[int, ...]], ...]()

Returns

AtomState

source

methodsq_placementssource

bloqade.lanes.heuristics.logical.placement.LogicalPlacementStrategyNoHome.sq_placements

Signature
def sq_placements(state: AtomState, qubits: tuple[int, ...]) -> AtomState

Parameters

NameTypeDescription
stateAtomState
qubitstuple[int, ...]

Returns

AtomState

source