bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy
classPhysicalPlacementStrategy¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy
Bases: PlacementStrategyABC
Physical placement strategy backed by the Rust MoveSolver.
Signature
class PhysicalPlacementStrategy(arch_spec: ArchSpec = get_physical_arch_spec(), traversal: RustPlacementTraversal = (lambda: RustPlacementTraversal(strategy='entropy'))(), target_generator: TargetGeneratorABC | TargetGeneratorCallable | None = None)Parameters
| Name | Type | Default | Description |
|---|---|---|---|
arch_spec | ArchSpec | get_physical_arch_spec() | |
traversal | RustPlacementTraversal | (lambda: RustPlacementTraversal(strategy='entropy'))() | |
target_generator | TargetGeneratorABC | TargetGeneratorCallable | None | None |
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
arch_spec | ArchSpec | field(default_factory=get_physical_arch_spec) | |
traversal | RustPlacementTraversal | field(default_factory=(lambda: RustPlacementTraversal(strategy='entropy'))) | |
target_generator | TargetGeneratorABC | TargetGeneratorCallable | None | None |
propertytrace_cz_index¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.trace_cz_index
trace_cz_index: int | Nonemethodvalidate_initial_layout¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.validate_initial_layout
Signature
def validate_initial_layout(initial_layout: tuple[LocationAddress, ...]) -> NoneParameters
| Name | Type | Description |
|---|---|---|
initial_layout | tuple[LocationAddress, ...] |
methodcz_placements¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.cz_placements
Signature
def cz_placements(state: AtomState, controls: tuple[int, ...], targets: tuple[int, ...], lookahead_cz_layers: tuple[tuple[tuple[int, ...], tuple[int, ...]], ...] = ()) -> AtomStateParameters
| Name | Type | Default | Description |
|---|---|---|---|
state | AtomState | required | |
controls | tuple[int, ...] | required | |
targets | tuple[int, ...] | required | |
lookahead_cz_layers | tuple[tuple[tuple[int, ...], tuple[int, ...]], ...] | () |
Returns
AtomState
propertyrust_nodes_expanded_total¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.rust_nodes_expanded_total
propertyrust_entropy_fallback_count¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.rust_entropy_fallback_count
rust_entropy_fallback_count: intNumber of solved Rust entropy stages that used sequential fallback.
sourcepropertytraced_rust_entropy_trace¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.traced_rust_entropy_trace
traced_rust_entropy_trace: EntropyTrace | Nonepropertytraced_target¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.traced_target
traced_target: dict[int, LocationAddress]First candidate target for the traced CZ layer (used by visualizers).
sourcepropertytraced_blocked_locations¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.traced_blocked_locations
traced_blocked_locations: tuple[LocationAddress, ...]Spectator atom positions for the traced CZ layer (atoms not in the active placement).
sourcemethodsq_placements¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.sq_placements
Signature
def sq_placements(state: AtomState, qubits: tuple[int, ...]) -> AtomStateParameters
| Name | Type | Description |
|---|---|---|
state | AtomState | |
qubits | tuple[int, ...] |
Returns
AtomState
methodmeasure_placements¶source
bloqade.lanes.heuristics.physical.movement.PhysicalPlacementStrategy.measure_placements
Signature
def measure_placements(state: AtomState, qubits: tuple[int, ...]) -> AtomStateParameters
| Name | Type | Description |
|---|---|---|
state | AtomState | |
qubits | tuple[int, ...] |
Returns
AtomState