We illustrate the relation between local and global epsilon-factors for Dirichlet characters (or Artin representations). Pick any Dirichlet character χ; in this example we take the unique odd one of conductor 5.19, order 6 and Im χ(2)>0.
> D:=FullDirichletGroup(5*19); > L:=[chi: chi in Elements(D) | (Order(chi) eq 6) and > (Conductor(chi) eq 5*19) and IsOdd(chi) and (Imaginary(chi(2)) ge 0)]; > assert #L eq 1; > chi:=L[1];
We compute its local Galois representations at all the bad places: 5, 19 and ∞. (See ParaHodge Structure for Hodge structures at ∞.)
> G5:=GaloisRepresentation(chi,5); G5; 1-dim Galois representation (1,-1,-zeta(3)_3-1,zeta(3)_3,zeta(3)_3+1,-zeta(3)_3) with G=C6, I=C2, conductor 5^1 over Q5[40] > G19:=GaloisRepresentation(chi,19); G19; 1-dim Galois representation (1,-1,zeta(3)_3,-zeta(3)_3-1,zeta(3)_3+1,-zeta(3)_3) with G=C6, I=C6, conductor 19^1 over Q19[40] > Ginfty:=HodgeStructure(ArtinRepresentation(chi)); Ginfty; Hodge structure of weight 0 given by <0,0,1>
Now compute the corresponding local root numbers - the way the conventions are set up for Artin representations, at ∞ it is the root number of the Hodge structure that enters the functional equation.
> localrootno:=[ComplexField()| RootNumber(G5),RootNumber(G19), > RootNumber(Ginfty)]; > globalrootno:=&*localrootno;
The global root number is the sign of the L-series of χ, and we check that it agrees with the one determined numerically from the functional equation:
> L:=LSeries(chi); > ok:=CheckFunctionalEquation(L); > Sign(L); 0.910747215816471738723996800097 + 0.412964294924567358770699943664*I > globalrootno; 0.910747215816471738723996800108 + 0.412964294924567358770699943647*I
E/K: y2 = x3 - 26x, qquad K=Q13.
> K:=pAdicField(13,20); > E:=EllipticCurve([K|-26,0]); > A:=GaloisRepresentation(E); > Degree(A),IsSemisimple(A); 2 true
Without looking at A, let us reconstruct it from its Euler factors over extensions of K. First we determine the inertia group InertiaGroup(A) by looking for a field over which A is unramified (i.e. E has good reduction). As the residue characteristic is >3, one of the fields Q13(root d of(13)) will do, for d=1, 2, 3, 4 or 6.
> R<x>:=PolynomialRing(K); > [EulerFactor(BaseChange(A,ext<K|x^d-13>)): d in [1,2,3,4,6]]; [ 1, 1, 1, 13*x^2 + 4*x + 1, 1 ]
We see that the representation becomes unramified over L=Q13(root 4of(13)), a cyclic extension of degree 4, but not over its subfields. So the inertia group must be C4,
(InertiaGroup)(A) isomorphic to IL/K = Gal(L/K) isomorphic to C4.
Over L the representation U=ResL A is unramified, and there it is determined by its Euler factor. It is a sum of two unramified characters, FrobL - 1 |-> - 2∓ 3i.
> L:=ext<K|x^4-13>; > f1:=EulerFactor(BaseChange(A,L)); > U:=UnramifiedRepresentation(L,f1); U; 2-dim unramified Galois representation Unr(1+4*x+13*x^2) over ext<Q13[20]|x^4-13> > Decomposition(U); [ 1-dim unramified Galois representation Unr(-2+3*i) over ext<Q13[20]|x^4-13>, 1-dim unramified Galois representation Unr(-2-3*i) over ext<Q13[20]|x^4-13> ]
We are ready to reconstruct A. Its restriction to inertia is a faithful 2-dimensional representation of C4, of determinant 1 (as it comes from an elliptic curve), so it must be σ direct-sum σ - 1 where σ is one of the faithful 1-dimensional characters of C4.
> GroupName(InertiaGroup(A)),IsUnramified(Determinant(A)); // just checking C4 true > list:=GaloisRepresentations(x^4-13); > sigma:=[g: g in list | Order(Character(g)) eq 4][1]; > sigma; 1-dim Galois representation (1,-1,zeta(4)_4,-zeta(4)_4) with G=C4, I=C4, conductor 13^1 over Q13[20]
Since FrobK=FrobL commutes with inertia in the Galois group
Gal(Knr(root 4 of(13))/K) isomorphic to Gal(Knr/K) x Gal(L/K) isomorphic to hatZ x C4
through which A factors, A(FrobK) and A(σ) are simultaneously diagonalizable in GL2(C), so A must be one of the following two representations A1 and A2:
> Qi<i>:=CyclotomicField(4); > A1 := sigma * UnramifiedCharacter(K,-2-3*i) + > sigma^(-1)*UnramifiedCharacter(K,-2+3*i); > A2 := sigma * UnramifiedCharacter(K,-2+3*i) + > sigma^(-1)*UnramifiedCharacter(K,-2-3*i);
Finally, to determine which one it is, we pick another extension of K where A becomes unramified and compare the Euler factors. Then we see that A must be A2.
> L2:=ext<K|x^4-26>; > EulerFactor(BaseChange(A,L2)); 13*x^2 - 6*x + 1 > EulerFactor(BaseChange(A1,L2)); 13*x^2 + 6*x + 1 > EulerFactor(BaseChange(A2,L2)); 13*x^2 - 6*x + 1 > A eq A2; true