Skip to main content

QuinticTrinomialExtendable

Trait QuinticTrinomialExtendable 

Source
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§

Source

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.

Source

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.

Implementors§