pub struct Cholesky<T: Scalar, D: Dim>where
DefaultAllocator: Allocator<D, D>,{ /* private fields */ }Expand description
The Cholesky decomposition of a symmetric positive-definite matrix.
Implementations§
Source§impl<T: CholeskyScalar + Zero, D: Dim> Cholesky<T, D>where
DefaultAllocator: Allocator<D, D>,
impl<T: CholeskyScalar + Zero, D: Dim> Cholesky<T, D>where
DefaultAllocator: Allocator<D, D>,
Sourcepub fn new(m: OMatrix<T, D, D>) -> Option<Self>
pub fn new(m: OMatrix<T, D, D>) -> Option<Self>
Computes the Cholesky decomposition of the given symmetric positive-definite square matrix.
Only the lower-triangular part of the input matrix is considered.
Sourcepub fn unpack(self) -> OMatrix<T, D, D>
pub fn unpack(self) -> OMatrix<T, D, D>
Retrieves the lower-triangular factor of the Cholesky decomposition.
Sourcepub fn unpack_dirty(self) -> OMatrix<T, D, D>
pub fn unpack_dirty(self) -> OMatrix<T, D, D>
Retrieves the lower-triangular factor of the Cholesky decomposition, without zeroing-out its strict upper-triangular part.
This is an allocation-less version of self.l(). The values of the strict upper-triangular
part are garbage and should be ignored by further computations.
Sourcepub fn l(&self) -> OMatrix<T, D, D>
pub fn l(&self) -> OMatrix<T, D, D>
Retrieves the lower-triangular factor of the Cholesky decomposition.
Sourcepub fn l_dirty(&self) -> &OMatrix<T, D, D>
pub fn l_dirty(&self) -> &OMatrix<T, D, D>
Retrieves the lower-triangular factor of the Cholesky decomposition, without zeroing-out its strict upper-triangular part.
This is an allocation-less version of self.l(). The values of the strict upper-triangular
part are garbage and should be ignored by further computations.
Sourcepub fn solve<R2: Dim, C2: Dim, S2>(
&self,
b: &Matrix<T, R2, C2, S2>,
) -> Option<OMatrix<T, R2, C2>>
pub fn solve<R2: Dim, C2: Dim, S2>( &self, b: &Matrix<T, R2, C2, S2>, ) -> Option<OMatrix<T, R2, C2>>
Solves the symmetric-definite-positive linear system self * x = b, where x is the
unknown to be determined.
Trait Implementations§
Source§impl<T: Clone + Scalar, D: Clone + Dim> Clone for Cholesky<T, D>where
DefaultAllocator: Allocator<D, D>,
impl<T: Clone + Scalar, D: Clone + Dim> Clone for Cholesky<T, D>where
DefaultAllocator: Allocator<D, D>,
Source§impl<T: Debug + Scalar, D: Debug + Dim> Debug for Cholesky<T, D>where
DefaultAllocator: Allocator<D, D>,
impl<T: Debug + Scalar, D: Debug + Dim> Debug for Cholesky<T, D>where
DefaultAllocator: Allocator<D, D>,
impl<T: Scalar + Copy, D: Dim> Copy for Cholesky<T, D>
Auto Trait Implementations§
impl<T, D> !Freeze for Cholesky<T, D>
impl<T, D> !RefUnwindSafe for Cholesky<T, D>
impl<T, D> !Send for Cholesky<T, D>
impl<T, D> !Sync for Cholesky<T, D>
impl<T, D> !Unpin for Cholesky<T, D>
impl<T, D> !UnwindSafe for Cholesky<T, D>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.