-
UnitConverter — A dataclass representing a unit converter in the Rydberg-Analog model.
qoolqit.devices.unit_converter
module
qoolqit.devices.unit_converter
Classes
dataclass
UnitConverter
(C6: float = field(repr=False), time: float, energy: float, distance: float)
A dataclass representing a unit converter in the Rydberg-Analog model.
Includes three inter-dependent factors for TIME, ENERGY and DISTANCE conversion, also depending on the interaction coeffiecient C6. The converter checks the following invariants, based on the units used by Pulser:
Conversion invariants
- TIME * ENERGY = 1000 ( <=> TIME = 1000 / ENERGY )
- DISTANCE^6 * ENERGY = C6 ( <=> ENERGY = C6 / (DISTANCE ^ 6) )
Attributes
-
C6 : float — Time conversion factor.
-
time : float — Energy conversion factor.
-
energy : float — Distance conversion factor.
-
factors : tuple[float, ...] — Return the current conversion factors set.
Methods
-
validate_factors — Returns True if the conversion invariants are respected.
-
from_time — Instantiate from a reference C6 value and a reference time unit.
-
from_energy — Instantiate from a reference C6 value and a reference energy unit.
-
from_distance — Instantiate from a reference C6 value and a reference distance unit.
-
factors_from_time — Get factors from a different reference time than the one set.
-
factors_from_energy — Get factors from a different reference energy than the one set.
-
factors_from_distance — Get factors from a different reference distance than the one set.
method
validate_factors
(time: float, energy: float, distance: float) → bool
Returns True if the conversion invariants are respected.
classmethod
from_time
(C6: float, time: float) → UnitConverter
Instantiate from a reference C6 value and a reference time unit.
classmethod
from_energy
(C6: float, energy: float) → UnitConverter
Instantiate from a reference C6 value and a reference energy unit.
classmethod
from_distance
(C6: float, distance: float) → UnitConverter
Instantiate from a reference C6 value and a reference distance unit.
property
factors
: tuple[float, ...]
Return the current conversion factors set.
method
factors_from_time
(time: float) → tuple[float, ...]
Get factors from a different reference time than the one set.
method
factors_from_energy
(energy: float) → tuple[float, ...]
Get factors from a different reference energy than the one set.
method
factors_from_distance
(distance: float) → tuple[float, ...]
Get factors from a different reference distance than the one set.