# ms_simulate¶

The Boulder Opal Toolkits are currently in beta phase of development. Breaking changes may be introduced.

ms_simulate(drives, lamb_dicke_parameters, relative_detunings, duration, target_phases=None, sample_count=128)

Simulate a Mølmer–Sørensen-type operation on a system composed of ions.

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.

• lamb_dicke_parameters (np.ndarray) – A 3D array of shape (3, N, N), where $$N$$ is the number of ions in the system, specifying the laser-ion coupling strength, $$\{\eta_{jkl}\}$$. The three dimensions indicate, respectively, the axis, the collective mode number, and the ion.

• relative_detunings (np.ndarray) – A 2D array of shape (3, N) specifying the difference, in Hz, between each motional mode frequency and the laser detuning (with respect to the qubit transition frequency $$\omega_0$$), $$\{\delta_{jk} = \nu_{jk} - \delta\}$$. The two dimensions indicate, respectively, the axis and the collective mode number.

• duration (float) – The duration, in seconds, of the dynamics to be simulated, $$T$$. It must be greater than zero.

• target_phases (np.ndarray, optional) – A 2D array of shape (N, N) with the target relative phases between ion pairs, $$\{\Psi_{kl}\}$$, as a strictly lower triangular matrix. Its $$(k, l)$$-th element indicates the total relative phase target for ions $$k$$ and $$l$$, with $$k > l$$. If not provided, the function does not return the operational infidelities.

• sample_count (int, optional) – The number of times $$T$$ between 0 and duration (included) at which the evolution is sampled. Defaults to 128.

Returns

A dictionary containing information about the evolution of the system. The dictionary keys are:

sample_times

The times at which the evolution is sampled, as an array of shape (T,).

phases

Acquired phases $$\{\Phi_{jk}(t_i) = \phi_{jk}(t_i) + \phi_{kj}(t_i)\}$$ for each sample time and for all ion pairs, as a strictly lower triangular matrix of shape (T, N, N). $$\Phi_{jk}$$ records the relative phase between ions $$j$$ and $$k$$; matrix elements where $$j \leq k$$ are zero.

displacements

Displacements $$\{\eta_{pj}\alpha_{pj}(t_i)\}$$ for all mode-ion combinations, as an array of shape (T, 3, N, N). The four dimensions indicate the sample time, the axis, the collective mode number, and the ion.

infidelities

A 1D array of length T representing 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

ions.Drive

Class describing non-optimizable drives.

ions.ms_optimize()

Find optimal pulses to perform Mølmer–Sørensen-type operations on trapped ions systems.

ions.obtain_ion_chain_properties()

Calculate the properties of an ion chain.

Notes

The internal and motional Hamiltonian of $$N$$ ions is

$H_0 = \sum_{p = 1}^{3N} \hbar\nu_p \left(a_p^\dagger a_p + \frac{1}{2}\right) + \sum_{j = 1}^N \frac{\hbar \omega_0}{2} \sigma_{z,j} ,$

where the axis dimension and collective mode dimension are combined into a single index $$p$$ for simplicity, $$a_p$$ is the annihilation operator for the mode $$p$$, and $$\sigma_{z,j}$$ is the Pauli $$Z$$ operator for the ion $$j$$. The interaction Hamiltonian for Mølmer–Sørensen-type operations in the rotating frame with respect to $$H_0$$ is:

$H_I(t) = i\hbar\sum_{j = 1}^N \sigma_{x, j} \sum_{p = 1}^{3N} (-\beta_{pj}^*(t)a_p + \beta_{pj}(t) a_p^\dagger) ,$

where $$\sigma_{x, j}$$ is the Pauli $$X$$ operator for the ion $$j$$ and $$\beta_{pj}(t) = \eta_{pj} \frac{\gamma_j(t)}{2} e^{i\delta_p t}$$, indicating the coupling of the ion $$j$$ to the motional mode $$p$$, where $$\{\gamma_j\}$$ is the total drive acting on ion $$j$$.

The corresponding unitary operation is given by 1

$U(t) = \exp\left[ \sum_{j=1}^N \sigma_{x, j} B_j(t) + i\sum_{j=1}^N\sum_{k=1}^{j - 1} (\phi_{jk}(t) + \phi_{kj}(t)) \sigma_{x, j} \sigma_{x, k} \right] ,$

where

\begin{align}\begin{aligned}B_j(t) &\equiv \sum_{p = 1}^{3N} \left(\eta_{pj}\alpha_{pj}(t)a_p^\dagger - \eta_{pj}^{\ast}\alpha_{pj}^\ast(t)a_p \right) ,\\\phi_{jk}(t) &\equiv \mathrm{Im} \left[ \sum_{p=1}^{3N} \int_{0}^{t} d \tau_1 \int_{0}^{\tau_1} d \tau_2 \beta_{pj}(\tau_1)\beta_{pk}^{\ast}(\tau_2) \right] ,\end{aligned}\end{align}

and

$\alpha_{pj}(t) = \int_0^t d\tau \frac{\gamma_j(\tau)}{2} e^{i \delta_p \tau} .$

The operational infidelity of the Mølmer–Sørensen gate is defined as 1:

$\begin{split}\mathcal{I} = 1 - \left| \left( \prod_{\substack{k=1 \\ l<k}}^N \cos ( \phi_{kl} - \psi_{kl}) \right) \left( 1 - \sum_{j=1}^3 \sum_{k,l=1}^N \left[ |\eta_{jkl}|^2 |\alpha_{jkl}|^2 \left(\bar{n}_{jk}+\frac{1}{2} \right) \right] \right) \right|^2 .\end{split}$

References

1(1,2)

C. D. B. Bentley, H. Ball, M. J. Biercuk, A. R. R. Carvalho, M. R. Hush, and H. J. Slatyer, Advanced Quantum Technologies 3, 2000044 (2020).