ms_displacements

static OperationNamespace.ms_displacements(drives, lamb_dicke_parameters, relative_detunings, sample_times=None, *, name=None)

Calculates the displacements for each mode and ion combination where ions are described by a Mølmer–Sørensen-type interaction.

Use this function to calculate the displacements for each ion and each mode at the final time of the drives, or at the sample times that you provide.

Parameters
  • drives (list[Pwc(1D, complex)]) – A list of piecewise-constant drives \(\{\gamma_j\}\). The number of drives must be the same as the number of ions \(N\). Drive values must be in rad/s and drive durations must be in seconds. All drives must have the same total duration, but can have different numbers of segments.

  • lamb_dicke_parameters (np.ndarray) – A 3D array of parameters \(\{\eta_{jkl}\}\) specifying the laser-ion coupling strength. Its shape must be [3, N, N] where the first dimension \(j\) indicates the axis, the second dimension \(k\) indicates the collective mode number, and the third dimension \(l\) indicates the ion.

  • relative_detunings (np.ndarray) – A 2D array \(\{\delta_{jk} = \nu_{jk} - \delta\}\) specifying the difference (in Hz) between each motional mode frequency \(\nu_{jk}\) and the laser detuning \(\delta\) (the detuning from the qubit transition frequency \(\omega_0\)). Its shape must be [3, N] where the first dimension \(j\) indicates the axis and the second dimension \(k\) indicates the collective mode number.

  • sample_times (np.ndarray, optional) – A 1D array of length \(T\) specifying the times \(\{t_i\}\) (in seconds) at which this function calculates the displacements. If you omit it, this function calculates the phases only at the final time of the drives. If provided, it must be ordered and contain at least one element.

  • name (str, optional) – The name of the node.

Returns

Displacements \(\{\eta_{pj}\alpha_{pj}(t_i)\}\) for all mode-ion combinations. If you provide sample_times, the shape of the returned value is [T, 3, N, N] where the first dimension indicates the time, the second dimension indicates the axis, the third dimension indicates the collective mode number, and the last dimension indicates the ion. Otherwise, the shape is [3, N, N] with the outer time dimension removed.

Return type

Tensor(complex)

See also

calculate_ion_chain_properties()

Calculate the properties of an ion chain.

ms_infidelity()

Final operational infidelity of a Mølmer–Sørensen gate.

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\). 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} \;.\]

This function calculates, for each time \(t_i\), the contribution to the displacement of mode \(p\) from the ion \(j\), namely \(\eta_{pj}\alpha_{pj}(t_i)\). You can calculate the state-dependent displacement for the mode \(p\) by summing over the contributions from all ions. That is, using the displacement superoperator \(\mathcal{D}_p\), the displacement in phase space for mode \(p\) at time \(t_i\) is:

\[\mathcal{D}_p \left(\sum_{j =1}^N \sigma_{x, j}\eta_{pj}\alpha_{pj}(t_i) \right)\;.\]

References

1

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).