pub trait PerfectField: Field { }Expand description
Field such that every finite degree extension field is separable.
This is equivalent to the following:
- Every irreducible polynomial is square-free (over the algebraic closure)
- Every finite-degree field extension is simple, i.e. generated by a single element
Note that currently, I sometimes make the assumption that a PerfectField is either
finite, or has characteristic 0. This is clearly not the case in general, but all perfect
fields that currently exist are one of those. I would even say that infinite perfect fields
of positive characteristic are quite an exotic case in computer algebra, and I do not expect
to implement them in the forseeable future. The simplest example of such a field would be
the algebraic closure of the function field over a finite field, i.e. AlgClosure(Fp(X)).
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.