Here are some simple examples of Jacobi motives. The first involves the Fermat cubic, and various twists.
> J := JacobiMotive([2/3,2/3],[1/3]); // CM elliptic curve conductor 27 > Weight(J); 1 > Field(J); Number Field with defining polynomial y^2 - y + 1 over Q > P := PrimesInInterval(11,100); > E := EllipticCurve("27a"); > &and[EulerFactor(J,p) eq EulerFactor(E,p) : p in P]; true > K := KummerTwist(J, 2, 1/3); // twist by 2^(1/3) > Et := EllipticCurve("108a"); > &and[EulerFactor(K,p) eq EulerFactor(Et,p) : p in P]; true > K4 := KummerTwist(J, 4, 1/3); // twist by 4^(1/3) > E36 := EllipticCurve("36a"); > &and[EulerFactor(K4,p) eq EulerFactor(E36,p) : p in P]; true > K2 := KummerTwist(J, -2, 1/2); // quadratic twist by -2 > Q := QuadraticTwist(E,-2); > &and[EulerFactor(K2,p) eq EulerFactor(Q,p) : p in P]; true
The next example is related to the Klein quartic and the elliptic curves of conductor 49.
> J := JacobiMotive([1/7,2/7,4/7]); > Scale(J,2) eq J; // scaling by 2 or 4 gives same motive true > Field(J); Number Field with defining polynomial y^2 - y + 2 over the Rational Field > Weight(J); 3 > EffectiveWeight(J); 1 > T := TateTwist(J,1); // this twist is weight 1 > Weight(T); 1 > P := PrimesInInterval(11,100); > E := EllipticCurve("49a"); > &and[EulerFactor(T,p) eq EulerFactor(E,p) : p in P]; true > Grossencharacter(J); Grossencharacter of type [[ 1, 2 ]] for Hecke-Dirichlet pair (1,$.1) with modulus of norm 7 over Number Field y^2 - y + 2 > TateTwist($1,1); Grossencharacter of type [[ 0, 1 ]] for Hecke-Dirichlet pair (1,$.1) with modulus of norm 7 over Number Field y^2 - y + 2
We next give an example with some tensor arithmetic.
> J := JacobiMotive([1/3,1/3,1/3]); // weight 3, effective wt 1 > J; Jacobi motive given by 3*[1/3] > Grossencharacter(J); Grossencharacter of type [[ 1, 2 ]] for Hecke-Dirichlet pair (1,$.1*$.2^2) with modulus of norm 9 over Number Field y^2 - y + 1 > J^3; Jacobi motive given by 9*[1/3] > Grossencharacter(J^3); // norm 3 Grossencharacter of type [[ 3, 6 ]] for Hecke-Dirichlet pair (1,$.1) with modulus of norm 3 over Number Field y^2 - y + 1 > Grossencharacter(J^6); // norm 1 Grossencharacter of type [[ 6, 12 ]] for Hecke-Dirichlet pair (1,1) with modulus of norm 1 over Number Field y^2 - y + 1 > A := JacobiMotive([2/3,2/3],[1/3]); > J*A; // one of the 1/3 cancels Jacobi motive given by 2*[1/3]+2*[2/3] > Grossencharacter(J*A); // trivial character Tate twist by -2 of Hecke character 1 in Group of Hecke characters of modulus of norm 1 over Number Field y - 1 > K := KummerTwist(J*A, 3, 1/3); K; Jacobi motive given by 2*[1/3]+2*[2/3] with Kummer twisting parameters (t,rho)=(3,1/3) > Grossencharacter(K); // bad reduction at 3 Grossencharacter of type [[ 2, 2 ]] for Hecke-Dirichlet pair (1,1) with modulus of norm 81 over Number Field y^2 - y + 1 > K2 := KummerTwist(JacobiMotive([]),3,1/3); K2; Unital Jacobi motive with Kummer twisting parameters (t,rho)=(3,1/3) > Grossencharacter(K2); // twist of the above Grossencharacter of type [[ 0, 0 ]] for Hecke-Dirichlet pair (1,$.1^2) with modulus of norm 81 over Number Field y^2 - y + 1 > K/K2 eq J*A; // removing the Kummer twist from K, gives J*A true
Here is an example with motives that are the same over (Q), but not over (Q)(Sqrt( - 3)). One of the Grössencharacters is seen to agree with the Jacobi motive at prime ideals.
> J := JacketMotive([], [], 2, 1/3, 0); J; // twist by 2^(1/3) Unital Jacobi motive with Kummer twisting parameters (t,rho)=(2,1/3) > GR := Grossencharacter(J); GR; Grossencharacter of type [[ 0, 0 ]] for Hecke-Dirichlet pair (1,$.1) with modulus of norm 36 over Number Field y^2 - y + 1 > ef := func<G,p | EulerFactor(G,p : Integral)>; > P := PrimesUpTo(100); > &and[ef(GR,p) eq ef(GR2,p) where GR2:=GR^2 : p in P]; // same over Q true > p7 := Ideal(Decomposition(Field(J),7)[1][1]); // norm 7, degree 1 > GR(p7); -0.499999999999999999999999999998 - 0.866025403784438646763723170754*i > (GR^2)(p7); -0.500000000000000000000000000001 + 0.866025403784438646763723170752*i > ComplexEvaluation(J,p7); // same as GR, not GR^2 -0.499999999999999999999999999998 - 0.866025403784438646763723170754*i > PK := [p : p in PrimesUpTo(100,Field(J)) | Norm(p) ne 3]; > Max([Norm(GR(p)-ComplexEvaluation(J,p)) : p in PK | Degree(p) eq 1]); 1.01121993374575362499804556062E-59
Similarly, as John Voight indicates, one does not always have a unique Grossencharacter that is identifiable from degree 1 primes.
> J := JacobiMotive([3/4,1/8,5/8],[1/2]); // scaling by 5 > psi := Grossencharacter(J); psi; WARNING: Didn't get unique kernel (size 2) Grossencharacter of type [[ 1, 1 ]] with norm 64 over x^2 + 1 > G := HeckeCharacterGroup(64*Integers(J`K)); > TG := TargetRestriction(G,CyclotomicField(1)); > P := [p : p in PrimesUpTo(1000) | p mod 8 eq 5]; > A := [EulerFactor(psi,p : Integral) : p in P]; > tw := psi*TG.2; > B := [EulerFactor(tw,p : Integral) : p in P]; > assert A eq B; // same L-function over Q > // but they are different over primes that are 5 mod 8 > (TG.2)(Factorization(5*Integers(J`K))[1][1]); -1
The point here is that only primes that are 5 mod 8 can distinguish this Grossencharacter, and Magma can not use these in ComplexEvaluation.
> H := HypergeometricData([* 1,2,3,3,6, -5,-5,-5 *]); H; Hypergeometric data given by [ 1, 1, 2, 2, 3, 3, 3, 6 ] and [ 5, 5, 5 ] > Weight(H); 3 > POS := [x/5 : x in GammaList(H) | x ge 0]; > NEG := [x/5 : x in GammaList(H) | x le 0]; > J:=JacobiMotive(POS,NEG); J; // weight 5 Jacobi motive given by 2*[1/5]+[2/5]+2*[3/5] > p := 11; // check 5th powers for beta value > EulerFactor(H,1/p^5/MValue(H),p); // weight 3-2 121*x^4 + 11*x^3 - 9*x^2 + x + 1 > EulerFactor(TateTwist(J,2),p); // weight 5-2*2 121*x^4 + 11*x^3 - 9*x^2 + x + 1 > [EulerFactor(H,u/p^5/MValue(H),p) : u in [1..p-1]]; [ 121*x^4 + 11*x^3 - 9*x^2 + x + 1, 121*x^4 + 121*x^3 + 51*x^2 + 11*x + 1, 121*x^4 - 44*x^3 + 6*x^2 - 4*x + 1, 121*x^4 - 99*x^3 + 41*x^2 - 9*x + 1, 121*x^4 + 11*x^3 + 21*x^2 + x + 1, 121*x^4 + 11*x^3 + 21*x^2 + x + 1, 121*x^4 - 99*x^3 + 41*x^2 - 9*x + 1, 121*x^4 - 44*x^3 + 6*x^2 - 4*x + 1, 121*x^4 + 121*x^3 + 51*x^2 + 11*x + 1, 121*x^4 + 11*x^3 - 9*x^2 + x + 1 ] > [EulerFactor(JacketMotive(POS,NEG,u,1/5,2),p) : u in [1..p-1]]; [ 121*x^4 + 11*x^3 - 9*x^2 + x + 1, 121*x^4 + 121*x^3 + 51*x^2 + 11*x + 1, 121*x^4 - 44*x^3 + 6*x^2 - 4*x + 1, 121*x^4 - 99*x^3 + 41*x^2 - 9*x + 1, 121*x^4 + 11*x^3 + 21*x^2 + x + 1, 121*x^4 + 11*x^3 + 21*x^2 + x + 1, 121*x^4 - 99*x^3 + 41*x^2 - 9*x + 1, 121*x^4 - 44*x^3 + 6*x^2 - 4*x + 1, 121*x^4 + 121*x^3 + 51*x^2 + 11*x + 1, 121*x^4 + 11*x^3 - 9*x^2 + x + 1 ] > p := 31; > &and[EulerFactor(H,u/p^5/MValue(H),p) eq > EulerFactor(JacketMotive(POS,NEG,u,1/5,2),p) : u in [1..p-1]]; true
The same can be done for the α parameters, with positive valuation in the t-values. Here there can be various contributions depending which of the positive γ-values (1,2,3,3,6) divide the valuation.
> p := 7; // again take a prime that is 1 mod 6 > d := 6; > D := Divisors(d); > POS := [[x/e : x in GammaList(H) | x ge 0] : e in D]; > NEG := [[-x/e : x in GammaList(H) | x le 0] : e in D]; > A, B := CyclotomicData(H); > for e in D do e,Multiplicity(A cat B,e); end for; 1 2 // weight should be 3 + 1 - 2 2 2 // weight should be 3 + 1 - 2 3 3 // weight should be 3 + 1 - 3 6 1 // weight should be 3 + 1 - 1 > EulerFactor(H,p^2/MValue(H),p); 49*x^2 - 14*x + 1 > f1 := EulerFactor(JacobiMotive(POS[1],NEG[1] : Weight:=2),p); > f2 := EulerFactor(JacobiMotive(POS[2],NEG[2] : Weight:=2),p); > f1 * f2; 49*x^2 - 14*x + 1 > function ef(t0,v) ans:=PolynomialRing(Integers())!1; > for i in [1..#D] do > e := D[i]; if Gcd(v,e) ne e then continue; end if; > w := Weight(H)+1-Multiplicity(A cat B,e); > J := JacobiMotive(POS[i],NEG[i] : Kummer:=[t0,1/e], Weight:=w); > ans := ans*EulerFactor(J,p); end for; > return ans; end function; > for i in [1..100] do v:=Random([1..12]); t0:=Random([1..p-1]); > assert EulerFactor(H,t0*p^v/MValue(H),p) eq ef(t0,v); end for;