pub enum PathOperator {
Preferred,
Plain,
Regularized,
}Expand description
Which operator a caller wants the walk’s Schur pin applied to.
The pin is the same in all three cases: solve K w - E du = r
subject to Eᵀ w = 0. What varies is the K it rides on, and
Preferred is the only one a solver
should use – the other two exist so a test can name the operator
it is measuring instead of inferring which one ran.
Variants§
Preferred
The plain released system, falling back to the regularized one when it fails or does not hold the pins. What the walk uses.
Plain
The plain released system, and nothing else. Fails outright on a working set that leaves it singular.
Regularized
The released system with the pinned rows’ diagonals raised until it is invertible. Always answers where the plain one does, with the same answer, at the cost of a refactorization per solve.
Trait Implementations§
Source§impl Clone for PathOperator
impl Clone for PathOperator
Source§fn clone(&self) -> PathOperator
fn clone(&self) -> PathOperator
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PathOperator
Source§impl Debug for PathOperator
impl Debug for PathOperator
impl Eq for PathOperator
Source§impl PartialEq for PathOperator
impl PartialEq for PathOperator
impl StructuralPartialEq for PathOperator
Auto Trait Implementations§
impl Freeze for PathOperator
impl RefUnwindSafe for PathOperator
impl Send for PathOperator
impl Sync for PathOperator
impl Unpin for PathOperator
impl UnsafeUnpin for PathOperator
impl UnwindSafe for PathOperator
Blanket Implementations§
impl<T> Boilerplate for T
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,
impl<T, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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