Skip to main content

PrincipalLocalRing

Trait PrincipalLocalRing 

Source
pub trait PrincipalLocalRing: EuclideanRing {
    // Required methods
    fn max_ideal_gen(&self) -> &Self::Element;
    fn nilpotent_power(&self) -> Option<usize>;

    // Provided method
    fn valuation(&self, x: &Self::Element) -> Option<usize> { ... }
}
Available on crate feature unstable-enable only.
Expand description

Trait for principal ideal rings that additionally are local rings, i.e. have a unique maximal ideal.

Note that in this case, the unique maximal ideal is clearly generated by a single element. Such an element can be accessed via PrincipalLocalRing::max_ideal_gen(). Equivalently, a principal local ring can be characterized by the property that for any elements x, y, either x | y or y | x.

Principal local rings are also valuation rings, i.e. have a function val: R -> ZZ_>0 u {∞} that satisfies val(xy) = val(x) + val(y), val(x + y) >= min(val(x), val(y)) and if `val(x)

= val(y)theny | x. This can be accessed using [PrincipalLocalRing::valuation()`].

§Availability

This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Required Methods§

Source

fn max_ideal_gen(&self) -> &Self::Element

Returns a generator p or the unique maximal ideal (p) of this ring.

In other words, for each element x we have either that p | x or x | 1.

Source

fn nilpotent_power(&self) -> Option<usize>

Returns the smallest nonnegative integer e such that p^e = 0 where p is the generator of the maximal ideal.

Provided Methods§

Source

fn valuation(&self, x: &Self::Element) -> Option<usize>

Returns the largest nonnegative integer e such that p^e | x where p is the generator of the maximal ideal.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§