Automorphisms of Local Rings and Fields

The automorphisms of a local ring or field are determined by their images on the generators of the ring. All computations necessary to determine the automorphism group can be performed in the local ring.

Automorphisms(L) : RngPad -> [Map]
Automorphisms(L) : FldPad -> [Map]
Given a local ring or field L, returns the automorphisms of L over its p-adic sub-field Qp as a sequence of maps of L into L.
Automorphisms(K, k) : FldPad, FldPad -> [Map]
Automorphisms(K, k) : RngPad, RngPad -> [Map]
Given a local ring or field K over k, returns the k-automorphisms of K as a sequence of maps of K into K.
AutomorphismGroup(L) : RngPad -> GrpPerm, Map
AutomorphismGroup(L) : FldPad -> GrpPerm, Map
Return the automorphism group acting on L over its p-adic sub-field Qp as a permutation group (representing the regular action). Also return the map from the permutation group to the group of automorphisms represented explicitly (i.e. like returned from the function above).
AutomorphismGroup(K, k) : RngPad, RngPad -> GrpPerm, Map
AutomorphismGroup(K, k) : FldPad, FldPad -> GrpPerm, Map
Return the automorphism group acting on K over its p-adic k as a permutation group (representing the regular action). Also return the map from the permutation group to the group of automorphisms represented explicitly (i.e. like returned from the function above).
IsNormal(K) : RngPad -> BoolElt
IsNormal(K) : FldPad -> BoolElt
Given a p-adic ring or field K, test if K is normal over it's prime field Qp, ie. if K admits exactly n automorphisms where n is the degree of K.
IsNormal(K, k) : RngPad, RngPad -> BoolElt
IsNormal(K, k) : FldPad, FldPad -> BoolElt
Given a p-adic ring or field K, test if K is normal over the subfield k.
IsAbelian(K, k) : FldPad, FldPad -> BoolElt
Given p-adic fields K/k, test if the automorphism group of K over k is abelian.
Continuations(m, L) : Map, RngPad -> [Map]
For an automorphism m of the p-adic ring L, compute all possible extensions of m to L.
IsIsomorphic(E, K) : RngPad, RngPad -> BooElt
IsIsomorphic(E, K) : FldPad, FldPad -> BooElt
For two p-adic rings or fields, test if they are isomorphic over Qp.

Example RngLoc_units-autos (H48E26)

We define an extension of Z2 with ramification degree 2 and inertia degree 2 and compute automorphisms.
> I<a> := ext<pAdicRing(2, 10) | 2>;
> R<x> := PolynomialRing(I);
> L<b> := ext<I | x^2 + 2*a*x + 2*a^2>;
> L;
Totally ramified extension defined by the polynomial
x^2 + (2*a)*x + -2*a - 2 over Unramified extension
defined by the polynomial x^2 + x + 1 over 2-adic ring
mod 2^10
> A := Automorphisms(L);
> [<A[i](a), A[i](b)> : i in [1 .. #A]];
[ <a, b + O(b^18)>, <a, -b + -2*a + O(b^18)>, <-a - 1,
a*b + O(b^18)>, <-a - 1, -a*b + 2*a + 2 + O(b^18)> ]
> AutomorphismGroup(L);
Permutation group acting on a set of cardinality 4
    Id($)
    (1, 2)(3, 4)
    (1, 3)(2, 4)
Mapping from: GrpPerm: $, Degree 4 to Power Structure
of Map given by a rule
GaloisGroup(f) : RngUPolElt[FldPad] -> GrpPerm, SeqEnum, UserProgram
GaloisGroup(f) : RngUPolElt[RngPad] -> GrpPerm, SeqEnum, UserProgram
Galois group G of a squarefree polynomial f over a p-adic ring or field K. Returns G as a permutation group on the roots of f in its splitting field F, the roots themselves, and a map G to Aut(F/K).

Example RngLoc_rngloc-galoisgroup (H48E27)

> K:=pAdicField(2,20);
> R<x>:=PolynomialRing(K);
> G,r,act:=GaloisGroup(x^4-2);
> G;                                     // permutation group on roots in r
Permutation group G acting on a set of cardinality 4
(1, 4, 2, 3)
(1, 2)
> GroupName(G);
D4
> F<pi>:=Universe(r); F;                          // splitting field F of f
Totally ramified extension defined by the polynomial x^8 + 8*x^7 + 24*x^6 +
   32*x^5 + 18*x^4 + 8*x^3 + 12*x^2 + 8*x + 2
 over 2-adic field mod 2^20
> sigma:=act(G.1);                                // an automorphism of F/K
> sigma;
Mapping from: FldPad: F to FldPad: F given by a rule [no inverse]
> sigma(F.1);
(43690*pi^7 - 5*pi^6 + 43677*pi^5 - 15*pi^4 + 43687*pi^3 + 43684*pi - 3)*pi +
   O(pi^136)
V2.28, 13 July 2023