pub trait CanonicalOrthogonalisable {
    type NumType;
    type RealType;
    // Required method
    fn calc_canonical_orthogonal_matrix(
        &self,
        complex_symmetric: bool,
        preserves_full_rank: bool,
        thresh_offdiag: Self::RealType,
        thresh_zeroov: Self::RealType,
    ) -> Result<CanonicalOrthogonalisationResult<Self::NumType>, Error>;
}Expand description
Trait for Löwdin canonical orthogonalisation of a square matrix.
Required Associated Types§
Required Methods§
Sourcefn calc_canonical_orthogonal_matrix(
    &self,
    complex_symmetric: bool,
    preserves_full_rank: bool,
    thresh_offdiag: Self::RealType,
    thresh_zeroov: Self::RealType,
) -> Result<CanonicalOrthogonalisationResult<Self::NumType>, Error>
 
fn calc_canonical_orthogonal_matrix( &self, complex_symmetric: bool, preserves_full_rank: bool, thresh_offdiag: Self::RealType, thresh_zeroov: Self::RealType, ) -> Result<CanonicalOrthogonalisationResult<Self::NumType>, Error>
Calculates the Löwdin canonical orthogonalisation matrix $\mathbf{X}$ for a square
matrix.
§Arguments
- complex_symmetric- Boolean indicating if the orthogonalisation is with respect to the complex-symmetric inner product.
- preserves_full_rank- Boolean indicating if a full-rank square matrix should be left unchanged, thus forcing $- \mathbf{X} = \mathbf{I}$.
- thresh_offdiag- Threshold for verifying that the orthogonalised matrix is indeed orthogonal.
- thresh_zeroov- Threshold for determining zero eigenvalues of the input square matrix.
§Returns
The canonical orthogonalisation result.