pub enum Ic0Error {
NonSquareMatrix {
nrows: usize,
ncols: usize,
},
MissingDiagonal {
col: usize,
},
UnsortedRowIndices {
col: usize,
},
PatternMismatch,
NotPositiveDefinite {
col: usize,
},
}Expand description
Error returned by IC(0) construction or refactorisation.
Variants§
NonSquareMatrix
The source matrix was not square.
MissingDiagonal
Column col of the source matrix does not contain its diagonal entry.
UnsortedRowIndices
Row indices in column col are not sorted ascending.
PatternMismatch
A refactorisation was attempted with a matrix whose pattern does not match the symbolic factor.
NotPositiveDefinite
A non-positive pivot was encountered at column col — the matrix is
not positive definite, or IC(0) has broken down on a non-H-matrix
input.
Trait Implementations§
impl Eq for Ic0Error
Source§impl Error for Ic0Error
impl Error for Ic0Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
impl StructuralPartialEq for Ic0Error
Auto Trait Implementations§
impl Freeze for Ic0Error
impl RefUnwindSafe for Ic0Error
impl Send for Ic0Error
impl Sync for Ic0Error
impl Unpin for Ic0Error
impl UnsafeUnpin for Ic0Error
impl UnwindSafe for Ic0Error
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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>
Converts
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>
Converts
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