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.