Struct extendr_api::prelude::sparse::linalg::cholesky::supernodal::SymbolicSupernodalCholesky
pub struct SymbolicSupernodalCholesky<I>where
I: Index,{
pub(crate) dimension: usize,
pub(crate) supernode_postorder: Vec<I>,
pub(crate) supernode_postorder_inv: Vec<I>,
pub(crate) descendant_count: Vec<I>,
pub(crate) supernode_begin: Vec<I>,
pub(crate) col_ptrs_for_row_indices: Vec<I>,
pub(crate) col_ptrs_for_values: Vec<I>,
pub(crate) row_indices: Vec<I>,
pub(crate) nnz_per_super: Option<Vec<I>>,
}
Expand description
Cholesky factor structure containing its symbolic structure.
Fields§
§dimension: usize
§supernode_postorder: Vec<I>
§supernode_postorder_inv: Vec<I>
§descendant_count: Vec<I>
§supernode_begin: Vec<I>
§col_ptrs_for_row_indices: Vec<I>
§col_ptrs_for_values: Vec<I>
§row_indices: Vec<I>
§nnz_per_super: Option<Vec<I>>
Implementations§
§impl<I> SymbolicSupernodalCholesky<I>where
I: Index,
impl<I> SymbolicSupernodalCholesky<I>where
I: Index,
pub fn n_supernodes(&self) -> usize
pub fn n_supernodes(&self) -> usize
Returns the number of supernodes in the Cholesky factor.
pub fn len_values(&self) -> usize
pub fn len_values(&self) -> usize
Returns the length of the slice that can be used to contain the numerical values of the Cholesky factor.
pub fn supernode_begin(&self) -> &[I]
pub fn supernode_begin(&self) -> &[I]
Returns a slice of length self.n_supernodes()
containing the beginning index of each
supernode.
pub fn supernode_end(&self) -> &[I]
pub fn supernode_end(&self) -> &[I]
Returns a slice of length self.n_supernodes()
containing the past-the-end index of
each
pub fn col_ptrs_for_row_indices(&self) -> &[I]
pub fn col_ptrs_for_row_indices(&self) -> &[I]
Returns the column pointers for row indices of each supernode.
pub fn col_ptrs_for_values(&self) -> &[I]
pub fn col_ptrs_for_values(&self) -> &[I]
Returns the column pointers for numerical values of each supernode.
pub fn row_indices(&self) -> &[I]
pub fn row_indices(&self) -> &[I]
Returns the row indices of the Cholesky factor.
§Note
Note that the row indices of each supernode do not contain those of the block diagonal part.
pub fn supernode(&self, s: usize) -> SymbolicSupernodeRef<'_, I>
pub fn supernode(&self, s: usize) -> SymbolicSupernodeRef<'_, I>
Returns the symbolic structure of the s
’th supernode.
pub fn solve_in_place_req<E>(
&self,
rhs_ncols: usize,
) -> Result<StackReq, SizeOverflow>where
E: Entity,
pub fn solve_in_place_req<E>(
&self,
rhs_ncols: usize,
) -> Result<StackReq, SizeOverflow>where
E: Entity,
Returns the size and alignment of the workspace required to solve the system A×x = rhs
.
Trait Implementations§
Auto Trait Implementations§
impl<I> Freeze for SymbolicSupernodalCholesky<I>
impl<I> RefUnwindSafe for SymbolicSupernodalCholesky<I>where
I: RefUnwindSafe,
impl<I> Send for SymbolicSupernodalCholesky<I>
impl<I> Sync for SymbolicSupernodalCholesky<I>
impl<I> Unpin for SymbolicSupernodalCholesky<I>where
I: Unpin,
impl<I> UnwindSafe for SymbolicSupernodalCholesky<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> 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