Neutral atoms and interactions¶
Read Hamiltonians and observables first. In an Analog program, geometry is part of the physical model. The SDK's occupation labels use 0 for ground and 1 for the Rydberg level. Control waveforms specify Rabi amplitude, detuning and phase.
Rabi amplitude sets the strength of the drive between levels. Detuning describes an offset from resonance. Phase sets the drive's orientation in the transverse plane. These are different controls; a larger detuning is not simply a stronger Rabi drive.
For the simple interaction used here, V(r) = C6/r⁶. Choose an explicit positive C6 = 15625 rad·µm⁶/µs and compare two distances. This is an illustrative model value, not a calibrated device parameter.
"""Read two register geometries and calculate an explicitly chosen interaction."""
from __future__ import annotations
import json
from math import dist
from cascaqit import AtomRegister
def experiment() -> dict[str, object]:
c6 = 15_625.0
rows = []
for spacing in (5.0, 10.0):
register = AtomRegister.line(count=2, spacing=spacing)
distance = dist(register.sites[0].position, register.sites[1].position)
rows.append(
{
"positions_um": [site.position for site in register.sites],
"distance_um": distance,
"interaction_rad_per_us": c6 / distance**6,
}
)
return {
"c6_rad_um6_per_us": c6,
"geometries": rows,
"state_evolution_performed": False,
}
if __name__ == "__main__":
print(json.dumps(experiment(), sort_keys=True))
python examples/learning/foundations/neutral_atoms.py
{
"c6_rad_um6_per_us": 15625.0,
"geometries": [
{
"distance_um": 5.0,
"interaction_rad_per_us": 1.0,
"positions_um": [
[
0.0,
0.0
],
[
5.0,
0.0
]
]
},
{
"distance_um": 10.0,
"interaction_rad_per_us": 0.015625,
"positions_um": [
[
0.0,
0.0
],
[
10.0,
0.0
]
]
}
],
"state_evolution_performed": false
}
Doubling distance from 5 to 10 µm reduces the interaction from 1 to 1/64 rad/µs. The script constructs registers and evaluates a formula; it does not evolve a quantum state. Use an AHSProgram with an explicit interaction configuration when you want to test the effect on a measurement distribution.
Strong interactions can suppress simultaneous excitation under appropriate drive and detuning conditions, often called Rydberg blockade. The comparison involves the interaction and the other energy scales, including the excitation bandwidth. A distance value by itself does not prove that a program is in the blockade regime.
Exercise: if C6 changes sign, does the magnitude's dependence on distance change? If you want to test whether a simulation actually uses an interaction, which two controlled runs would you compare?
Answer
The sign of V changes, while its magnitude still follows the sixth-power law. Compare otherwise identical programs with the interaction enabled and disabled, record the explicit C6 and geometry, and inspect the executed interaction report as well as observables. A configuration flag alone is not a numerical comparison.
Next: physical units. For the SDK construction steps, see Analog programs.