Analog Hamiltonian Simulation

AnalogHamiltonianSimulation(register::AtomArrangement, hamiltonian) -> AnalogHamiltonianSimulation

Constructs an AnalogHamiltonianSimulation on a specific atom arrangement register and with Hamiltonian terms hamiltonian.

discretize(ahs::AnalogHamiltonianSimulation, device::Device)

Creates a new AnalogHamiltonianSimulation with all numerical values represented as Dec128 objects with fixed precision based on the capabilities of the device.


Abstract type representing a term in the Hamiltonian to simulate.

AtomArrangementItem(coord::Tuple{Number, Number}, site_type::SiteType=filled)

Create a coordinate with filling site_type (either vacant or filled). Default filling is filled.


Struct representing a series of values in a neutral atom simulation.

Field(time_series::TimeSeries, [pattern::Pattern]) -> Field

Representation of a generic field in a Hamiltonian.

ShiftingField <: Hamiltonian
ShiftingField(magnitude::Union{Field, TimeSeries}) -> ShiftingField

Represents a shifting field in a Hamiltonian which changes the energy of the Rydberg level in an AnalogHamiltonianSimulation.

\[H_{sf}(t) = - \Delta(t) \sum_k h_k \left| r_k \right\rangle\left\langle r_k \right|\]

Where $\left| r_k \right\rangle$ is the Rydberg state of atom $k$, and $h_k$ is the local pattern of unitless real numbers between 0 and 1.

The argument magnitude represents the global magnitude time series $\Delta(t)$, where time is in units of seconds and values are in units of radians / second.

DrivingField <: Hamiltonian
DrivingField(amplitude::Union{Field, TimeSeries}, phase::Union{Field, TimeSeries}, detuning::Union{Field, TimeSeries}) -> DrivingField

Represents a driving field in a Hamiltonian which coherently transfers atoms from the ground state to the Rydberg state in an AnalogHamiltonianSimulation.

\[H_{df}(t) = \frac{1}{2} \Omega(t)\exp(i \phi(t)) \sum_k \left( | g_k \rangle\langle r_k | + h.c.\right) - \Delta(t) \sum_k| r_k \rangle\langle r_k |\]

Where $\left| g_k \right\rangle$ is the ground state of atom $k$ and $\left| r_k \right\rangle$ is the Rydberg state of atom $k$.


  • amplitude represents the global amplitude $\Omega(t)$. The time is in units of seconds, and the value is in radians/second.
  • phase represents the global phase $\phi(t)$. The time is in units of seconds, and the value is in radians/second.
  • detuning represents the global detuning $\Delta(t)$. The time is in units of seconds, and the value is in radians/second.