pub enum Algorithm {
Auto,
F4,
F5,
Buchberger,
MultiModular,
}Expand description
Algorithm selector for groebner_basis.
Auto picks a backend based on the ideal’s size and structure; the
other variants force a specific algorithm. See groebner_basis for
the unified entry point.
Variants§
Auto
Automatically select the most suitable algorithm: the multi-modular pipeline for ℚ ideals (fast path since 0.25.0), F4 otherwise.
F4
Force the F4 matrix algorithm (Faugère 1999).
F5
Force the F5 signature-based algorithm (Faugère 2002).
Buchberger
Force Buchberger’s classic S-polynomial iteration.
MultiModular
Force the multi-modular pipeline (crate::groebner::multi_modular):
parallel F5 over lucky primes + CRT/rational reconstruction + exact
ℚ verification, with a Hensel-lift shortcut. Only applies to ℚ
coefficients; other domains fall back to F4.
Trait Implementations§
impl Copy for Algorithm
impl Eq for Algorithm
impl StructuralPartialEq for Algorithm
Auto Trait Implementations§
impl Freeze for Algorithm
impl RefUnwindSafe for Algorithm
impl Send for Algorithm
impl Sync for Algorithm
impl Unpin for Algorithm
impl UnsafeUnpin for Algorithm
impl UnwindSafe for Algorithm
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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