Struct linfa_linalg::bidiagonal::BidiagonalDecomp
source · pub struct BidiagonalDecomp<A, S: DataMut<Elem = A>> { /* private fields */ }
Expand description
Full bidiagonal decomposition
Implementations§
source§impl<A: NdFloat, S: DataMut<Elem = A>> BidiagonalDecomp<A, S>
impl<A: NdFloat, S: DataMut<Elem = A>> BidiagonalDecomp<A, S>
sourcepub fn is_upper_diag(&self) -> bool
pub fn is_upper_diag(&self) -> bool
Whether B
is upper-bidiagonal or not
sourcepub fn generate_u(&self) -> Array2<A>
pub fn generate_u(&self) -> Array2<A>
Generates U
matrix, which is R x min(R, C), where R and C are dimensions of the original
matrix
sourcepub fn generate_vt(&self) -> Array2<A>
pub fn generate_vt(&self) -> Array2<A>
Generates Vt
matrix, which is min(R, C) x C, where R and C are dimensions of the original
matrix
sourcepub fn into_b(self) -> Array2<A>
pub fn into_b(self) -> Array2<A>
Returns B
matrix, which is min(R, C) x min(R, C), where R and C are dimensions of the
original matrix
sourcepub fn into_diagonals(self) -> (Array1<A>, Array1<A>)
pub fn into_diagonals(self) -> (Array1<A>, Array1<A>)
Returns the diagonal and off-diagonal elements of B
as 1D arrays
Trait Implementations§
source§impl<A: Clone, S: DataMut<Elem = A> + RawDataClone> Clone for BidiagonalDecomp<A, S>
impl<A: Clone, S: DataMut<Elem = A> + RawDataClone> Clone for BidiagonalDecomp<A, S>
Auto Trait Implementations§
impl<A, S> Freeze for BidiagonalDecomp<A, S>where
S: Freeze,
impl<A, S> RefUnwindSafe for BidiagonalDecomp<A, S>where
S: RefUnwindSafe,
A: RefUnwindSafe,
impl<A, S> Send for BidiagonalDecomp<A, S>
impl<A, S> Sync for BidiagonalDecomp<A, S>
impl<A, S> Unpin for BidiagonalDecomp<A, S>where
S: Unpin,
impl<A, S> UnwindSafe for BidiagonalDecomp<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
)