pub trait MatExt: Sized + Copy {
type Scalar;
type Vector;
type SymmetricEigen;
type Svd;
// Required methods
fn abs(&self) -> Self;
fn try_inverse(&self) -> Option<Self>;
fn swap_cols(&mut self, a: usize, b: usize);
fn swap_rows(&mut self, a: usize, b: usize);
fn symmetric_eigen(&self) -> Self::SymmetricEigen;
fn symmetric_eigenvalues(&self) -> Self::Vector;
fn svd(&self) -> Self::Svd;
}Expand description
Extension trait for square matrix types.
Provides additional functionality not available in glam:
abs()- element-wise absolute valuetry_inverse()- inverse with singularity checkswap_cols()/swap_rows()- column/row swappingsymmetric_eigen()- eigendecomposition for symmetric matrices
Required Associated Types§
Sourcetype SymmetricEigen
type SymmetricEigen
The symmetric eigen decomposition type.
Required Methods§
Sourcefn try_inverse(&self) -> Option<Self>
fn try_inverse(&self) -> Option<Self>
Tries to invert the matrix, returning None if not invertible.
Sourcefn symmetric_eigen(&self) -> Self::SymmetricEigen
fn symmetric_eigen(&self) -> Self::SymmetricEigen
Computes the symmetric eigendecomposition.
If self isn’t symmetric, expect incorrect results.
Sourcefn symmetric_eigenvalues(&self) -> Self::Vector
fn symmetric_eigenvalues(&self) -> Self::Vector
Computes the eigenvalues of a symmetric matrix.
If self isn’t symmetric, expect incorrect results.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".