ms_phases
- Graph.ms_phases(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 when single-tone individually-addressed laser beams are used.
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.
- 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 one-dimensional arrays and in rad/s. 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 (list or tuple or np.ndarray, optional) – A 1D array of length \(T\) specifying the times \(\{t_i\}\) (in seconds) at which this function calculates the relative phases. 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
Acquired phases \(\{\phi_{jk}(t_i) + \phi_{kj}(t_i)\}\) for all ion pairs. If you provide sample_times, the shape of the returned value is
(T, N, N)
, where the first dimension indicates the time; the second and the third dimensions indicate the ion. Otherwise, the shape is(N, N)
where both dimensions indicate the ion. The relative phases are stored as a strictly lower triangular matrix. See the notes part for details.- Return type
Tensor(real)
See also
calculate_ion_chain_properties()
Function to calculate the properties of an ion chain.
ms_infidelity
Final operational infidelity of a Mølmer–Sørensen gate.
ms_phases_multitone
Corresponding operation for a global multitone beam.
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 the relative phases \(\Phi_{jk}(t_i) = \phi_{jk}(t_i) + \phi_{kj}(t_i)\) for all ions pairs at time \(t_i\) and stores the result in the form of a strictly lower triangular matrix. That is, the \(jk\)-th element of that matrix records the relative phase between the ion \(j\) and \(k\), while the elements with indices \(j \leq k\) are zeros.
References
Examples
Refer to the How to optimize error-robust Mølmer–Sørensen gates for trapped ions user guide to find how to use this and related nodes.