pub struct SymbolicCholesky<I> { /* private fields */ }Expand description
the symbolic structure of a sparse cholesky decomposition
Implementations§
Source§impl<I: Index> SymbolicCholesky<I>
impl<I: Index> SymbolicCholesky<I>
Sourcepub fn raw(&self) -> &SymbolicCholeskyRaw<I>
pub fn raw(&self) -> &SymbolicCholeskyRaw<I>
returns the inner type of the factorization, either simplicial or symbolic
Sourcepub fn perm(&self) -> Option<PermRef<'_, I>>
pub fn perm(&self) -> Option<PermRef<'_, I>>
returns the permutation that was computed during symbolic analysis
Sourcepub fn len_val(&self) -> usize
pub fn len_val(&self) -> usize
returns the length of the slice needed to store the numerical values of the cholesky decomposition
Sourcepub fn factorize_numeric_llt_scratch<T: ComplexField>(
&self,
par: Par,
params: Spec<LltParams, T>,
) -> StackReq
pub fn factorize_numeric_llt_scratch<T: ComplexField>( &self, par: Par, params: Spec<LltParams, T>, ) -> StackReq
computes the required workspace size and alignment for a numerical $LL^H$ factorization
Sourcepub fn factorize_numeric_ldlt_scratch<T: ComplexField>(
&self,
par: Par,
params: Spec<LdltParams, T>,
) -> StackReq
pub fn factorize_numeric_ldlt_scratch<T: ComplexField>( &self, par: Par, params: Spec<LdltParams, T>, ) -> StackReq
computes the required workspace size and alignment for a numerical $LDL^H$ factorization
Sourcepub fn factorize_numeric_intranode_lblt_scratch<T: ComplexField>(
&self,
par: Par,
params: Spec<LbltParams, T>,
) -> StackReq
pub fn factorize_numeric_intranode_lblt_scratch<T: ComplexField>( &self, par: Par, params: Spec<LbltParams, T>, ) -> StackReq
computes the required workspace size and alignment for a numerical intranodal $LBL^\top$ factorization
Sourcepub fn factorize_numeric_llt<'out, T: ComplexField>(
&'out self,
L_values: &'out mut [T],
A: SparseColMatRef<'_, I, T>,
side: Side,
regularization: LltRegularization<T::Real>,
par: Par,
stack: &mut MemStack,
params: Spec<LltParams, T>,
) -> Result<LltRef<'out, I, T>, LltError>
pub fn factorize_numeric_llt<'out, T: ComplexField>( &'out self, L_values: &'out mut [T], A: SparseColMatRef<'_, I, T>, side: Side, regularization: LltRegularization<T::Real>, par: Par, stack: &mut MemStack, params: Spec<LltParams, T>, ) -> Result<LltRef<'out, I, T>, LltError>
computes a numerical llt factorization of a, or returns a LltError if the matrix
is not numerically positive definite
Sourcepub fn factorize_numeric_ldlt<'out, T: ComplexField>(
&'out self,
L_values: &'out mut [T],
A: SparseColMatRef<'_, I, T>,
side: Side,
regularization: LdltRegularization<'_, T::Real>,
par: Par,
stack: &mut MemStack,
params: Spec<LdltParams, T>,
) -> Result<LdltRef<'out, I, T>, LdltError>
pub fn factorize_numeric_ldlt<'out, T: ComplexField>( &'out self, L_values: &'out mut [T], A: SparseColMatRef<'_, I, T>, side: Side, regularization: LdltRegularization<'_, T::Real>, par: Par, stack: &mut MemStack, params: Spec<LdltParams, T>, ) -> Result<LdltRef<'out, I, T>, LdltError>
computes a numerical $LDL^H$ factorization of a
Sourcepub fn factorize_numeric_intranode_lblt<'out, T: ComplexField>(
&'out self,
L_values: &'out mut [T],
subdiag: &'out mut [T],
perm_forward: &'out mut [I],
perm_inverse: &'out mut [I],
A: SparseColMatRef<'_, I, T>,
side: Side,
par: Par,
stack: &mut MemStack,
params: Spec<LbltParams, T>,
) -> IntranodeLbltRef<'out, I, T>
pub fn factorize_numeric_intranode_lblt<'out, T: ComplexField>( &'out self, L_values: &'out mut [T], subdiag: &'out mut [T], perm_forward: &'out mut [I], perm_inverse: &'out mut [I], A: SparseColMatRef<'_, I, T>, side: Side, par: Par, stack: &mut MemStack, params: Spec<LbltParams, T>, ) -> IntranodeLbltRef<'out, I, T>
computes a numerical intranodal $LBL^\top$ factorization of a
Sourcepub fn solve_in_place_scratch<T: ComplexField>(
&self,
rhs_ncols: usize,
par: Par,
) -> StackReq
pub fn solve_in_place_scratch<T: ComplexField>( &self, rhs_ncols: usize, par: Par, ) -> StackReq
computes the required workspace size and alignment for a dense solve in place using an $LL^H$, $LDL^H$ or intranodal $LBL^\top$ factorization
Trait Implementations§
Auto Trait Implementations§
impl<I> Freeze for SymbolicCholesky<I>
impl<I> RefUnwindSafe for SymbolicCholesky<I>where
I: RefUnwindSafe,
impl<I> Send for SymbolicCholesky<I>where
I: Send,
impl<I> Sync for SymbolicCholesky<I>where
I: Sync,
impl<I> Unpin for SymbolicCholesky<I>where
I: Unpin,
impl<I> UnwindSafe for SymbolicCholesky<I>where
I: UnwindSafe,
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> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more