Struct linfa_linalg::tridiagonal::TridiagonalDecomp
source · pub struct TridiagonalDecomp<A, S: DataMut<Elem = A>> { /* private fields */ }
Expand description
Full tridiagonal decomposition, containing the symmetric tridiagonal matrix T
Implementations§
source§impl<A: NdFloat, S: DataMut<Elem = A>> TridiagonalDecomp<A, S>
impl<A: NdFloat, S: DataMut<Elem = A>> TridiagonalDecomp<A, S>
sourcepub fn generate_q(&self) -> Array2<A>
pub fn generate_q(&self) -> Array2<A>
Construct the orthogonal matrix Q
, where Q * T * Q.t
results in the original matrix
sourcepub fn into_diagonals(self) -> (Array1<A>, Array1<A>)
pub fn into_diagonals(self) -> (Array1<A>, Array1<A>)
Return the diagonal elements and off-diagonal elements of the tridiagonal matrix as 1D arrays
sourcepub fn into_tridiag_matrix(self) -> ArrayBase<S, Ix2>
pub fn into_tridiag_matrix(self) -> ArrayBase<S, Ix2>
Return the full tridiagonal matrix T
Trait Implementations§
source§impl<A: Clone, S: DataMut<Elem = A> + RawDataClone> Clone for TridiagonalDecomp<A, S>
impl<A: Clone, S: DataMut<Elem = A> + RawDataClone> Clone for TridiagonalDecomp<A, S>
Auto Trait Implementations§
impl<A, S> Freeze for TridiagonalDecomp<A, S>where
S: Freeze,
impl<A, S> RefUnwindSafe for TridiagonalDecomp<A, S>where
S: RefUnwindSafe,
A: RefUnwindSafe,
impl<A, S> Send for TridiagonalDecomp<A, S>
impl<A, S> Sync for TridiagonalDecomp<A, S>
impl<A, S> Unpin for TridiagonalDecomp<A, S>where
S: Unpin,
impl<A, S> UnwindSafe for TridiagonalDecomp<A, S>where
S: UnwindSafe,
A: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)