pub enum LocalMonomialOrder {
LocalLexicographic,
LocalDegreeLexicographic,
LocalDegreeReverseLexicographic,
}Expand description
A multiplicative monomial order suited to a polynomial localization.
These are deliberately separate from MonomialOrder. A local order has
1 > x_i > x_i^2 > ..., so it is not a well-order and must never be sent
to a global Groebner kernel. Mora reduction is used instead.
Variants§
LocalLexicographic
Reverse exponent comparison at the first differing variable.
LocalDegreeLexicographic
Lower total degree first, then ordinary lexicographic comparison.
LocalDegreeReverseLexicographic
Lower total degree first, then ordinary reverse lexicographic comparison.
Implementations§
Source§impl LocalMonomialOrder
impl LocalMonomialOrder
Sourcepub const fn is_degree_compatible(self) -> bool
pub const fn is_degree_compatible(self) -> bool
Whether lowest total-degree forms are compatible with this order.
Sourcepub fn to_json(self) -> Result<String, NoetherError>
pub fn to_json(self) -> Result<String, NoetherError>
Serialize this exact local order.
Sourcepub fn from_json(value: &str) -> Result<Self, NoetherError>
pub fn from_json(value: &str) -> Result<Self, NoetherError>
Deserialize one exact local order.
Trait Implementations§
Source§impl Clone for LocalMonomialOrder
impl Clone for LocalMonomialOrder
Source§fn clone(&self) -> LocalMonomialOrder
fn clone(&self) -> LocalMonomialOrder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LocalMonomialOrder
impl Debug for LocalMonomialOrder
Source§impl Default for LocalMonomialOrder
impl Default for LocalMonomialOrder
Source§fn default() -> LocalMonomialOrder
fn default() -> LocalMonomialOrder
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for LocalMonomialOrder
impl<'de> Deserialize<'de> for LocalMonomialOrder
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for LocalMonomialOrder
impl Display for LocalMonomialOrder
Source§impl Hash for LocalMonomialOrder
impl Hash for LocalMonomialOrder
Source§impl PartialEq for LocalMonomialOrder
impl PartialEq for LocalMonomialOrder
Source§impl SemanticType for LocalMonomialOrder
impl SemanticType for LocalMonomialOrder
Source§const TYPE_ID: &'static str = "noether/commalg/LocalMonomialOrder@1"
const TYPE_ID: &'static str = "noether/commalg/LocalMonomialOrder@1"
Versioned, language-neutral semantic identity.
Source§fn canonical_bytes(&self) -> Result<Vec<u8>, NoetherError>
fn canonical_bytes(&self) -> Result<Vec<u8>, NoetherError>
Serialize without backend- or language-specific identity.
Source§fn describe() -> &'static TypeDescription
fn describe() -> &'static TypeDescription
Return static discovery metadata for the type.
Source§impl Serialize for LocalMonomialOrder
impl Serialize for LocalMonomialOrder
impl Copy for LocalMonomialOrder
impl Eq for LocalMonomialOrder
impl StructuralPartialEq for LocalMonomialOrder
Auto Trait Implementations§
impl Freeze for LocalMonomialOrder
impl RefUnwindSafe for LocalMonomialOrder
impl Send for LocalMonomialOrder
impl Sync for LocalMonomialOrder
impl Unpin for LocalMonomialOrder
impl UnwindSafe for LocalMonomialOrder
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> 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