# Function compute_evd_complex

```
pub fn compute_evd_complex<E>(
matrix: MatRef<'_, E>,
s: ColMut<'_, E>,
u: Option<MatMut<'_, E>>,
parallelism: Parallelism<'_>,
stack: PodStack<'_>,
params: EvdParams,
)where
E: ComplexField,
```

## Expand description

Computes the eigenvalue decomposition of a square complex `matrix`

.

`s`

represents the diagonal of the matrix $S$, and must have size equal to the dimension of the
matrix.

If `u`

is `None`

, then only the eigenvalues are computed. Otherwise, the eigenvectors are
computed and stored in `u`

.

## ยงPanics

Panics if any of the conditions described above is violated, or if the type `E`

does not have a
fixed precision at compile time, e.g. a dynamic multiprecision floating point type.

This can also panic if the provided memory in `stack`

is insufficient (see `compute_evd_req`

).