InjectiveMonomial

Trait InjectiveMonomial 

Source
pub trait InjectiveMonomial<const N: u64>: PrimeCharacteristicRing {
    // Provided method
    fn injective_exp_n(&self) -> Self { ... }
}
Expand description

A ring implements InjectiveMonomial<N> if the algebraic function f(x) = x^N is an injective map on elements of the ring.

We do not enforce that this map be invertible as there are useful cases such as polynomials or symbolic expressions where no inverse exists.

However, if the ring is a field with order q or an array of such field elements, then f(x) = x^N will be injective if and only if it is invertible and so in such cases this monomial acts as a permutation. Moreover, this will occur exactly when N and q - 1 are relatively prime i.e. gcd(N, q - 1) = 1.

Provided Methods§

Source

fn injective_exp_n(&self) -> Self

Compute x -> x^n for a given n > 1 such that this map is injective.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§