pub trait QuinticTrinomialExtendable: Field + QuinticExtendableAlgebra<Self> {
const FROBENIUS_COEFFS: [[Self; 5]; 4];
const EXT_GENERATOR: [Self; 5];
}Expand description
Trait for fields that support a degree-5 extension using the trinomial X^5 + X^2 - 1.
This trait should only be implemented for fields where X^5 + X^2 - 1 is irreducible.
The implementor must verify irreducibility for their specific field.
Required Associated Constants§
Sourceconst FROBENIUS_COEFFS: [[Self; 5]; 4]
const FROBENIUS_COEFFS: [[Self; 5]; 4]
Frobenius coefficients for the quintic extension.
FROBENIUS_COEFFS[k] represents X^{(k+1)*p} mod (X^5 + X^2 - 1) as a polynomial
with coefficients [c_0, c_1, c_2, c_3, c_4] where X^{(k+1)*p} = Σ c_i * X^i.
These precomputed values enable efficient Frobenius automorphism computation.
Sourceconst EXT_GENERATOR: [Self; 5]
const EXT_GENERATOR: [Self; 5]
A generator for the multiplicative group of the extension field F_{p^5}*.
Represented as polynomial coefficients [g_0, g_1, g_2, g_3, g_4].
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.