pub enum LuError {
Singular {
rank_deficiency: usize,
cols: Vec<usize>,
rows: Vec<Row>,
},
Structure(SparseError),
NoSpike,
NotFactorized,
}Expand description
Error raised by crate::LuFactor::factorize and
crate::LuFactor::update.
Variants§
Singular
The basis is singular: no acceptable pivot (magnitude above
crate::LuOptions::abs_pivot_tol) exists for rank_deficiency
columns. cols lists their basis positions and rows the rows
left without a pivot, both in increasing order (invariant E1).
After a failed factorization the factor is invalid until the next successful one; after a failed update it still represents the previous basis (Chapter 5.5).
Fields
Structure(SparseError)
The basis references do not fit the matrix (Chapter 5.1, B1), or a position is out of range.
NoSpike
crate::LuFactor::update was called without a spike recorded by
crate::LuFactor::ftran_for_update since the last change of the
factor.
NotFactorized
A solve or an update was requested from a factor that does not hold a valid factorization (never factorized, or the last factorization failed).
Trait Implementations§
Source§impl Error for LuError
impl Error for LuError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()