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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".