# obtain_ion_chain_properties

`boulderopal.ions.obtain_ion_chain_properties(atomic_mass, ion_count, center_of_mass_frequencies, wavevector, laser_detuning=None)`

Calculate the Lamb–Dicke parameters, frequencies (or relative detunings if a laser detuning is provided), and eigenvectors of the collective motional modes of an ion chain.

### Parameters

**atomic_mass**(*float*) – The atomic mass of the ions of the chain in atomic units. All ions in the chain are assumed to be of the same species.**ion_count**(*int*) – The number of ions in the chain, $N$**center_of_mass_frequencies**(*np.ndarray*) – The center-of-mass trapping frequencies in each direction. Must contain three positive elements.**wavevector**(*np.ndarray*) – The laser difference angular wave vector (in rad/m) in each direction. Must contain three elements.**laser_detuning**(*float**or**None**,**optional*) – The detuning of the control laser. If not provided, the returned relative detunings represent the mode frequencies.

### Returns

A dictionary containing the ion chain properties, with the following keys:

`lamb_dicke_parameters`

: A 3D array of shape `(3, N, N)`

representing the Lamb–Dicke parameters of the ions.
Its dimensions indicate, respectively, direction, mode, and ion.

`relative_detunings`

: A 2D array of shape `(3, N)`

representing the mode frequencies
(or relative detunings if a laser detuning is provided).
Its dimensions indicate, respectively, direction and mode.

`eigenvectors`

: A 3D array of shape `(3, N, N)`

representing the eigenvectors of each mode.
Its dimensions indicate, respectively, direction, mode, and ion.

`metadata`

: Metadata associated with the calculation.
No guarantees are made about the contents of this metadata dictionary;
the contained information is intended purely to help interpret the results of the
calculation on a one-off basis.

### Return type

dict

### SEE ALSO

`boulderopal.ions.ms_optimize`

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

`boulderopal.ions.ms_simulate`

: Simulate a Mølmer–Sørensen-type operation on a trapped ions system.

## Notes

The directions of input parameters and returned arrays are ordered as radial x-direction, radial y-direction, and axial z-direction, corresponding, respectively, to the unit vectors $(1, 0, 0)$, $(0, 1, 0)$, and $(0, 0, 1)$

## 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 function.