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§
Sourcefn injective_exp_n(&self) -> Self
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.