Function complex_modified_gram_schmidt

Source
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. If false, 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.