pub struct SupernodalCholeskySolver { /* private fields */ }Expand description
Supernodal Cholesky solver for symmetric positive definite sparse systems.
Performs A = L * L^T factorization using supernodal dense operations
within each supernode for BLAS-like efficiency.
Implementations§
Source§impl SupernodalCholeskySolver
impl SupernodalCholeskySolver
Sourcepub fn symbolic(
row_offsets: &[usize],
col_indices: &[usize],
n: usize,
) -> Result<Self, SolverError>
pub fn symbolic( row_offsets: &[usize], col_indices: &[usize], n: usize, ) -> Result<Self, SolverError>
Symbolic factorization: compute elimination tree, supernodes, column counts.
Sourcepub fn numeric(
&mut self,
row_offsets: &[usize],
col_indices: &[usize],
values: &[f64],
) -> Result<(), SolverError>
pub fn numeric( &mut self, row_offsets: &[usize], col_indices: &[usize], values: &[f64], ) -> Result<(), SolverError>
Numeric factorization: fill supernode dense blocks with L values.
Builds the full symmetric matrix from CSR lower triangle, then assembles and factors supernodes in postorder.
Sourcepub fn solve(&self, rhs: &[f64]) -> Result<Vec<f64>, SolverError>
pub fn solve(&self, rhs: &[f64]) -> Result<Vec<f64>, SolverError>
Solve A * x = b using the supernodal Cholesky factorization.
Performs forward solve L * y = b then backward solve L^T * x = y.
Sourcepub fn nnz_factor(&self) -> usize
pub fn nnz_factor(&self) -> usize
Number of non-zeros in the L factor.
Trait Implementations§
Source§impl Clone for SupernodalCholeskySolver
impl Clone for SupernodalCholeskySolver
Source§fn clone(&self) -> SupernodalCholeskySolver
fn clone(&self) -> SupernodalCholeskySolver
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SupernodalCholeskySolver
impl RefUnwindSafe for SupernodalCholeskySolver
impl Send for SupernodalCholeskySolver
impl Sync for SupernodalCholeskySolver
impl Unpin for SupernodalCholeskySolver
impl UnsafeUnpin for SupernodalCholeskySolver
impl UnwindSafe for SupernodalCholeskySolver
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