bloqade.lanes.analysis.atom.atom_state_data.AtomStateData
classAtomStateData¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData
Bases: RustWrapper[_RustAtomStateData]
Atom-state lattice payload backed by a Rust ``AtomStateData``.
class AtomStateData(inner: _RustAtomStateData | None = None)All accessors delegate to the underlying Rust object; address-typed
fields are wrapped via LocationAddress.from_inner /
LaneAddress.from_inner to avoid re-allocating the Rust addresses.
Wrapper instances are treated as immutable: self._inner is set
once during construction (or via from_inner) and cannot be
rebound afterward. cached_property results live in __dict__
and are unaffected by the guard.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
inner | _RustAtomStateData | None | None |
methodfrom_fields¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.from_fields
Signature
def from_fields(locations_to_qubit: dict[LocationAddress, int] | None = None, qubit_to_locations: dict[int, LocationAddress] | None = None, collision: dict[int, int] | None = None, prev_lanes: dict[int, LaneAddress] | None = None, move_count: dict[int, int] | None = None) -> AtomStateDataConstruct from explicit field values.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
locations_to_qubit | dict[LocationAddress, int] | None | None | |
qubit_to_locations | dict[int, LocationAddress] | None | None | |
collision | dict[int, int] | None | None | |
prev_lanes | dict[int, LaneAddress] | None | None | |
move_count | dict[int, int] | None | None |
Returns
AtomStateData
methodnew¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.new
def new(locations: dict[int, LocationAddress] | list[LocationAddress])Parameters
| Name | Type | Description |
|---|---|---|
locations | dict[int, LocationAddress] | list[LocationAddress] |
propertylocations_to_qubit¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.locations_to_qubit
locations_to_qubit: MappingProxyType[LocationAddress, int]Mapping from location to qubit id (read-only).
sourcepropertyqubit_to_locations¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.qubit_to_locations
qubit_to_locations: MappingProxyType[int, LocationAddress]Mapping from qubit id to its current location (read-only).
sourcepropertycollision¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.collision
collision: MappingProxyType[int, int]Mapping from qubit id to another qubit id that it has collided with (read-only).
sourcepropertyprev_lanes¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.prev_lanes
prev_lanes: MappingProxyType[int, LaneAddress]Mapping from qubit id to the lane it took to reach this state (read-only).
sourcepropertymove_count¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.move_count
move_count: MappingProxyType[int, int]Mapping from qubit id to number of moves it has had (read-only).
sourcemethodadd_atoms¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.add_atoms
def add_atoms(locations: dict[int, LocationAddress]) -> AtomStateDataParameters
| Name | Type | Description |
|---|---|---|
locations | dict[int, LocationAddress] |
Returns
AtomStateData
methodapply_moves¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.apply_moves
Signature
def apply_moves(lanes: tuple[LaneAddress, ...], arch_spec: ArchSpec) -> AtomStateData | NoneParameters
| Name | Type | Description |
|---|---|---|
lanes | tuple[LaneAddress, ...] | |
arch_spec | ArchSpec |
Returns
AtomStateData | None
methodget_qubit¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.get_qubit
methodget_qubit_pairing¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.get_qubit_pairing
def get_qubit_pairing(zone_address: ZoneAddress, arch_spec: ArchSpec)Parameters
| Name | Type | Description |
|---|---|---|
zone_address | ZoneAddress | |
arch_spec | ArchSpec |
methodcopy¶source
bloqade.lanes.analysis.atom.atom_state_data.AtomStateData.copy