ions.ms_phases_multitone(drives, lamb_dicke_parameters, relative_detunings, sample_times=None, *, name=None)

Calculate the relative phases for all pairs of ions described by a Mølmer–Sørensen-type interaction where the ions are being addressed by a multitone global beam.

Use this function to calculate the acquired phases for all ion pairs at the final time of the drives, or at the sample times that you provide.


  • drives (list [Pwc ]) – The piecewise-constant drives, {γj}\{\gamma_j\}, one for each of the MM
  • lamb_dicke_parameters (np.ndarray) – The laser-ion coupling strength, {ηξjkl}\{\eta_{\xi jkl}\}(M, 3, N, N), where the dimensions indicate, respectively, tone of the global beam, axis, collective mode, and ion.
  • relative_detunings (np.ndarray) – The difference {δξjk=νjkδξ}\{\delta_{\xi jk} = \nu_{jk} - \delta_\xi \} (in Hz) between each motional mode frequency and the laser detunings for each tone from the qubit transition frequency ω0\omega_0(M, 3, N), where the dimensions indicate, respectively, tone of the global beam, axis, and collective mode.
  • sample_times (np.ndarray or None , optional) – The times (in seconds) at which to calculate the relative phases, {ti}\{t_i\}
  • name (str or None , optional) – The name of the node.


Acquired phases {ϕjk(ti)+ϕkj(ti)}\{\phi_{jk}(t_i) + \phi_{kj}(t_i)\}(T, N, N), where the first dimension indicates time, and the second and third dimensions indicate ions. Otherwise, the shape is (N, N), with the outer time dimension removed. The relative phases are stored as a strictly lower triangular matrix. See the notes part for details.

Return type



Graph.ions.ms_infidelity : Final operational infidelity of a Mølmer–Sørensen gate.

Graph.ions.ms_phases : Corresponding operation for single-tone individually-addressed beams.

boulderopal.ions.obtain_ion_chain_properties : Function to calculate the properties of an ion chain.


The interaction Hamiltonian for Mølmer–Sørensen-type operations in the rotating frame for a multitone global beam is

HI(t)=iξ=1Mj=13k=1Nl=1Nσx,l(βξjkl(t)ajk+βξjkl(t)ajk), H_I(t) = i\hbar \sum_{\xi=1}^M \sum_{j=1}^{3} \sum_{k=1}^{N} \sum_{l=1}^N \sigma_{x,l} \left(-\beta_{\xi jkl}^*(t)a_{jk} + \beta_{\xi jkl}(t) a_{jk}^\dagger\right) ,

where σx,l\sigma_{x,l} is the Pauli XX operator for the ion ll

βξjkl(t)=ηξjklγξ(t)2exp(i2πδξjkt) \beta_{\xi jkl}(t) = \eta_{\xi jkl} \frac{\gamma_\xi(t)}{2} \exp(i 2 \pi \delta_{\xi jk} t)

indicates the coupling between ion ll and motional mode (ξ,j,k)(\xi,j,k)

The corresponding unitary operation is given by

U(t)=exp[l=1Nσx,lBl(t)+il=1Nn=1l1(ϕln(t)+ϕnl(t))σx,lσx,n], U(t) = \exp\left[ \sum_{l=1}^N \sigma_{x,l} B_l(t) + i\sum_{l=1}^N \sum_{n=1}^{l-1} (\phi_{ln}(t) + \phi_{nl}(t)) \sigma_{x,l} \sigma_{x,n} \right] ,


Bl(t)ξ=1Mj=13k=1N(ηξjklαξjkl(t)ajkηξjklαξjkl(t)ajk), B_l(t) \equiv \sum_{\xi=1}^M \sum_{j=1}^{3} \sum_{k=1}^{N} \left(\eta_{\xi jkl}\alpha_{\xi jkl}(t)a_{jk}^\dagger - \eta_{\xi jkl}^{\ast}\alpha_{\xi jkl}^\ast(t)a_{jk} \right) , \phi_{ln}(t) \equiv \mathrm{Im} \left[ \sum_{\xi=1}^M \sum_{\chi=1}^M \sum_{j=1}^{3} \sum_{k=1}^{N} \int_{0}^{t} d \tau_1 \int_{0}^{\tau_1} d \tau_2 \beta_{\xi jkl}(\tau_1)\beta_{\chi jkn}^{\ast}(\tau_2) \right] , αξjkl(t)0tdτγξ(τ)2exp(i2πδξjkτ). \alpha_{\xi jkl}(t) \equiv \int_0^t d\tau \frac{\gamma_\xi(\tau)}{2} \exp(i 2 \pi \delta_{\xi jk} \tau).

This function calculates the relative phases for all ions pairs at sample times {ti}\{t_i\}

Φln(ti)=ϕln(ti)+ϕnl(ti), \Phi_{ln}(t_i) = \phi_{ln}(t_i) + \phi_{nl}(t_i),

and stores them in a strictly lower triangular matrix. That is, Φln(ti)\Phi_{ln}(t_i) with l>nl > n gives the relative phase between ions ll and nn, while Φln(ti)=0\Phi_{ln}(t_i) = 0 for lnl \leq n

Was this useful?