calculate_ion_chain_properties
- static FunctionNamespace.calculate_ion_chain_properties(*, atomic_mass, ion_count, radial_x_center_of_mass_frequency, radial_y_center_of_mass_frequency, axial_center_of_mass_frequency, radial_x_wave_number, radial_y_wave_number, axial_wave_number, **kwargs)
Calculate the properties necessary for the simulation of an ion chain.
Use this function to obtain the mode frequencies, mode eigenvectors, and Lamb–Dicke parameters for an ion chain with a single ion species. You can use this information to simulate the evolution of the ion chain, or to obtain optimized controls for it.
- Parameters:
atomic_mass (float) – The atomic mass \(m\) of the ions of the chain in atomic units. This function assumes that all the ions in the chain are from the same atomic species.
ion_count (int) – The number of ions in the chain, \(N\).
radial_x_center_of_mass_frequency (float) – The radial center-of-mass trapping frequency in Hertz for the x-direction (\(\tilde \nu_1\)), corresponding to the unit vector \((1, 0, 0)\).
radial_y_center_of_mass_frequency (float) – The radial center-of-mass trapping frequency in Hertz for the y-direction (\(\tilde\nu_2\)), corresponding to the unit vector \((0, 1, 0)\).
axial_center_of_mass_frequency (float) – The axial center-of-mass trapping frequency in Hertz for the z-direction (\(\tilde\nu_3\)), corresponding to the unit vector \((0, 0, 1)\).
radial_x_wave_number (float) – The component \(k_1\) of the laser difference angular wave vector (in units of \(\textrm{rad}/\textrm{m}\)) in the radial x-direction, corresponding to the unit vector \((1, 0, 0)\).
radial_y_wave_number (float) – The component \(k_2\) of the laser difference angular wave vector (in units of \(\textrm{rad}/\textrm{m}\)) in the radial y-direction, corresponding to the unit vector \((0, 1, 0)\).
axial_wave_number (float) – The component \(k_3\) of the laser difference angular wave vector (in units of \(\textrm{rad}/\textrm{m}\)) in the axial z-direction, corresponding to the unit vector \((0, 0, 1)\).
- Returns:
The result of a calculation of ion chain properties.
- Return type:
Notes
This function uses the equations of motion of the ion chain to find the properties of its collective modes of oscillation. In a Mølmer–Sørensen gate [1], these modes mediate the entanglement between qubits.
The ions interact among themselves via electric forces, besides being subject to a harmonic trapping potential defined by the center-of-mass frequencies \(\tilde\nu_1\), \(\tilde\nu_2\), and \(\tilde\nu_3\) that you provided. In terms of coordinates \(x_{jp}\), which represent the position of the \(p\)-th ion along the \(j\)-th axis, the total potential energy of the ion chain is:
\[V = \sum_{j=1}^3 \sum_{p=1}^N \frac{m (2\pi \tilde\nu_j)^2 x_{jp}^2}{2} + \sum_{p=1}^N \sum_{q\ne p} \frac{1}{8\pi \varepsilon_0} \frac{e^2}{\left[\sum_{j=1}^3 \left(x_{jp}-x_{jq}\right)^2 \right]^{1/2}},\]where \(e\) is the electron charge and where \(\varepsilon_0\) is the vacuum permittivity. In the formula for the potential energy, the index \(j\) labels the axes, while the indices \(p\) and \(q\) label the ions.
A power expansion of the potential around the equilibrium positions of the ions \(\{x_{jp}^{(0)}\}\) (so that the zeroth and first order terms vanish) allows the definition of a matrix \(\mathcal{V}\) whose eigenvalues and eigenvectors give the normal modes of oscillation:
\[\begin{split}\begin{align*} V = & \frac{1}{2} \sum_{j,l=1}^3 \sum_{p,q=1}^N \left. \frac{\partial^2 V}{\partial x_{jp} \partial x_{lq}} \right|_0 (x_{jp}-x_{jp}^{(0)}) (x_{lq}-x_{lq}^{(0)}) + \ldots \\ = & \frac{1}{2} \sum_{j,l=1}^3 \sum_{p,q=1}^N \mathcal{V}_{jp,lq} (x_{jp}-x_{jp}^{(0)}) (x_{lq}-x_{lq}^{(0)}) + \ldots \end{align*}\end{split}\]In the set of coordinates that diagonalizes \(\mathcal{V}\), the equations of motion simplify to independent harmonic oscillators. For this reason, the diagonalization of \(\mathcal{V}\) provides the frequencies \(\nu_{jp}\) of the modes of oscillation through the formula:
\[\nu_{jp} = \frac{\omega_{jp}}{2\pi},\]where \(m \omega_{jp}^2\) is the eigenvalue of \(\mathcal{V}\) corresponding to the \(p\)-th mode of oscillation in the direction of the \(j\)-th axis. The corresponding eigenvector \((b_{jp1}, b_{jp2}, \ldots, b_{jpN})\) appears in the formula for the Lamb–Dicke parameters \(\eta_{jpn}\):
\[\eta_{jpn} = b_{jpn} k_j \sqrt{\frac{\hbar}{4\pi m \nu_{jp}}}.\]Note that the function orders the modes of oscillation for a given axis in increasing order of frequency. In this way, the last of the radial modes have frequencies that correspond to the radial center-of-mass frequencies that you provided (\(\tilde \nu_1 = \nu_{1N}\) and \(\tilde \nu_2 = \nu_{2N}\)), while the first of the axial modes has the same frequency as the axial center-of-mass frequency that you provided (\(\tilde \nu_3 = \nu_{31}\)).
This function returns to you the frequencies of the normal modes of oscillation, the eigenvectors, and the Lamb–Dicke parameters. You can use this information to simulate and optimize Mølmer–Sørensen gates that use these collective oscillations to entangle the qubits. In particular, the Lamb–Dicke parameters are present in the Hamiltonian for the Mølmer–Sørensen interaction [2] [3].
References
Examples
See the How to optimize error-robust Mølmer–Sørensen gates for trapped ions user guide.