It is sometimes useful to consider various finite fields in a fixed characteristic at the same time, together with natural embeddings between these fields. The fields returned by abelian_closure are intended for that purpose.
Let F be a prime field of order p. Return a field K that is the union of finite fields of order p^d, for all positive integers d. The degree d extension of F can be obtained as ext_of_degree(K, d).
K is cached in F, and the fields returned by ext_of_degree are cached in K.
Return a finite field F of order p^d where p is the characteristic of K. This field is compatible with A in the sense that A(x) returns the element of A that corresponds to the element x of F.