ms_simulate
boulderopal.ions.ms_simulate(drives, duration, lamb_dicke_parameters, relative_detunings, target_phases=None, sample_count=128)
Simulate a Mølmer–Sørensen-type operation on a system composed of ions.
This function builds a graph describing the Mølmer–Sørensen operation and calls boulderopal.execute_graph to simulate the ion dynamics.
Parameters
- drives (list [Drive ]) – A list of drives addressing the ions. Each ion can only be addressed by a single drive, but there may be ions not addressed by any drive.
- duration (float) – The duration, in seconds, of the dynamics to be simulated,
- lamb_dicke_parameters (np.ndarray) – The laser-ion coupling strength,
(3, N, N)
, where the dimensions indicate, respectively, axis, collective mode, and ion. - relative_detunings (np.ndarray) – The difference (in Hz) between each motional
mode frequency and the laser detuning from the qubit transition frequency
(3, N)
, where the dimensions indicate, respectively, axis and collective mode. - target_phases (np.ndarray or None , optional) – The target total relative phases between ion pairs,
(N, N)
. with indicates the relative phase between ions and , while for - sample_count (int , optional) – The number of times
Returns
The result of the execute_graph call.
Its output
item is a dictionary containing information about
the evolution of the system, with the following keys:
sample_times
: The times at which the evolution is sampled, as an array of shape(T,)
.
phases
: Acquired phases $\{\Phi_{ln}(t_i) = \phi_{ln}(t_i) + \phi_{nl}(t_i)\}$ for each sample time and for all ion pairs, as a strictly lower triangular matrix of shape(T, N, N)
. $\Phi_{ln}(t_i)$ with $l > n$ indicates the relative phase between ions $l$ and $n$, while $\Phi_{ln}(t_i) = 0$ for $l \leq n$.
displacements
: Displacements $\{\eta_{jkl}\alpha_{jkl}(t_i)\}$ for all mode-ion combinations, as an array of shape(T, 3, N, N)
, where the dimensions indicate, respectively, time, axis, collective mode, and ion.
infidelities
: A 1D array of lengthT
with the operational infidelities of the Mølmer–Sørensen gate at each sample time, $\mathcal{I}(t_i)$. Only returned if target relative phases are provided.
Return type
dict
SEE ALSO
boulderopal.ions.Drive
: Class describing non-optimizable drives.
boulderopal.ions.ms_optimize
: Find optimal pulses to perform Mølmer–Sørensen-type operations on trapped ions systems.
boulderopal.ions.obtain_ion_chain_properties
: Calculate the properties of an ion chain.
Notes
The internal and motional Hamiltonian of
where indicates axis dimension (, , or ), indicates collective mode, is the annihilation operator, and is the Pauli operator for ion
The interaction Hamiltonian for Mølmer–Sørensen-type operations in the rotating frame with respect to
where is the Pauli operator for ion
indicates the coupling between ion and motional mode
The corresponding unitary operation is given by 1
where
\phi_{ln}(t) \equiv \mathrm{Im} \left[ \sum_{j=1}^{3} \sum_{k=1}^{N} \int_{0}^{t} d \tau_1 \int_{0}^{\tau_1} d \tau_2 \beta_{jkl}(\tau_1)\beta_{jkn}^{\ast}(\tau_2) \right] ,The operational infidelity of the Mølmer–Sørensen gate is defined as 1: