pub struct FactorPattern {
pub n: usize,
pub perm: Vec<usize>,
pub l_irn: Vec<Index>,
pub l_jcn: Vec<Index>,
pub l_vals: Option<Vec<Number>>,
}Expand description
Snapshot of the most recent LDLᵀ factor’s sparsity pattern (and
optionally values) plus the fill-reducing permutation. Backends
produce this on demand from SparseSymLinearSolverInterface::factor_pattern
— it is purely diagnostic and is not part of the solve / refine
hot path.
All irn / jcn indices are 1-based in permuted coordinates
(i.e. they reference the matrix Pᵀ K P that the backend actually
factored, not the original-variable ordering). The perm array
closes the loop: perm[k] = original_row for the k-th permuted
row, so a consumer can render the L pattern in either coordinate
system. perm is 0-based to keep the array directly indexable.
Only the strict lower triangle of L is populated — the unit
diagonal is implicit (L_ii = 1).
Fields§
§n: usizeMatrix dimension (rows = cols).
perm: Vec<usize>Fill-reducing permutation, 0-based, length n. perm[k] is
the original-variable row that landed at permuted-row k.
l_irn: Vec<Index>Row indices of L’s strict-lower nonzeros, 1-based, permuted coordinates.
l_jcn: Vec<Index>Column indices of L’s strict-lower nonzeros, 1-based, permuted
coordinates. Same length as l_irn.
l_vals: Option<Vec<Number>>Optional numerical values aligned with l_irn / l_jcn. None
when only the pattern was requested.
Trait Implementations§
Source§impl Clone for FactorPattern
impl Clone for FactorPattern
Source§fn clone(&self) -> FactorPattern
fn clone(&self) -> FactorPattern
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more