braket.ahs.driving_field module

class braket.ahs.driving_field.DrivingField(amplitude: Field | TimeSeries, phase: Field | TimeSeries, detuning: Field | TimeSeries)[source]

Bases: Hamiltonian

Creates a Hamiltonian term \(H_{drive}\) for the driving field that coherently transfers atoms from the ground state to the Rydberg state in an AnalogHamiltonianSimulation, defined by the formula

\[H_{drive} (t) := \frac{\Omega(t)}{2} e^{i \phi(t)} \left( \sum_k |g_k \rangle \langle r_k| + |r_k \rangle \langle g_k| \right) - \Delta(t) \sum_k{| r_k \rangle \langle r_k |}\]

where

\(\Omega(t)\) is the global Rabi frequency in rad/s,

\(\phi(t)\) is the global phase in rad/s,

\(\Delta(t)\) is the global detuning in rad/s,

\(|g_k \rangle\) is the ground state of atom \(k\),

\(|r_k \rangle\) is the Rydberg state of atom \(k\).

with the sum \(\sum_k\) taken over all target atoms.

Parameters:
  • amplitude (Union[Field, TimeSeries]) – global amplitude (\(\Omega(t)\)). Time is in s, and value is in rad/s.

  • phase (Union[Field, TimeSeries]) – global phase (\(\phi(t)\)). Time is in s, and value is in rad/s.

  • detuning (Union[Field, TimeSeries]) – global detuning (\(\Delta(t)\)). Time is in s, and value is in rad/s.

property terms: list[Hamiltonian]

The list of terms in this Hamiltonian.

Type:

list[Hamiltonian]

property amplitude: Field

The global amplitude (\(\Omega(t)\)). Time is in s, and value is in rad/s.

Type:

Field

property phase: Field

The global phase (\(\phi(t)\)). Time is in s, and value is in rad/s.

Type:

Field

property detuning: Field

global detuning (\(\Delta(t)\)). Time is in s, and value is in rad/s.

Type:

Field

stitch(other: DrivingField, boundary: StitchBoundaryCondition = StitchBoundaryCondition.MEAN) DrivingField[source]

Stitches two driving fields based on TimeSeries.stitch method. The time points of the second DrivingField are shifted such that the first time point of the second DrifingField coincides with the last time point of the first DrivingField. The boundary point value is handled according to StitchBoundaryCondition argument value.

Parameters:
  • other (DrivingField) – The second shifting field to be stitched with.

  • boundary (StitchBoundaryCondition) –

    {“mean”, “left”, “right”}. Boundary point handler.

    Possible options are

    • ”mean” - take the average of the boundary value points of the first and the second time series.

    • ”left” - use the last value from the left time series as the boundary point.

    • ”right” - use the first value from the right time series as the boundary point.

Returns:

DrivingField – The stitched DrivingField object.

discretize(properties: DiscretizationProperties) DrivingField[source]

Creates a discretized version of the Hamiltonian.

Parameters:

properties (DiscretizationProperties) – Capabilities of a device that represent the resolution with which the device can implement the parameters.

Returns:

DrivingField – A new discretized DrivingField.

static from_lists(times: list[float], amplitudes: list[float], detunings: list[float], phases: list[float]) DrivingField[source]

Builds DrivingField Hamiltonian from lists defining time evolution of Hamiltonian parameters (Rabi frequency, detuning, phase). The values of the parameters at each time points are global for all atoms.

Parameters:
  • times (list[float]) – The time points of the driving field

  • amplitudes (list[float]) – The values of the amplitude

  • detunings (list[float]) – The values of the detuning

  • phases (list[float]) – The values of the phase

Raises:

ValueError – If any of the input args length is different from the rest.

Returns:

DrivingField – DrivingField Hamiltonian.