Function extendr_api::prelude::modules::evd::compute_hermitian_evd
pub fn compute_hermitian_evd<E>(
matrix: MatRef<'_, E>,
s: ColMut<'_, E>,
u: Option<MatMut<'_, E>>,
parallelism: Parallelism<'_>,
stack: PodStack<'_>,
params: HermitianEvdParams,
)where
E: ComplexField,
Expand description
Computes the eigenvalue decomposition of a square Hermitian matrix
. Only the lower triangular
half of the matrix is accessed.
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_hermitian_evd_req
).