pub fn complex_modified_gram_schmidt<T>(
vmat: &ArrayView2<'_, T>,
complex_symmetric: bool,
thresh: <T as ComplexFloat>::Real,
) -> Result<Array2<T>, Error>where
T: ComplexFloat + Display + 'static,
Expand description
Performs modified Gram–Schmidt orthonormalisation on a set of column vectors in a matrix with respect to the complex-symmetric or Hermitian dot product.
§Arguments
vmat
- Matrix containing column vectors forming a basis for a subspace.complex_symmetric
- A boolean indicating if the vector dot product is complex-symmetric. Iffalse
, the conventional Hermitian dot product is used.thresh
- A threshold for determining self-orthogonal vectors.
§Returns
The orthonormal vectors forming a basis for the same subspace collected as column vectors in a matrix.
§Errors
Errors when the orthonormalisation procedure fails, which occurs when there is linear dependency between the basis vectors and/or when self-orthogonal vectors are encountered.