|
The characteristic polynomial of the Frobenius on the etale cohomology
is called a Weil polynomial.
This section contains some auxiliary routines for simpler handling of
these polynomials.
All routines make frequently use of
PowerSumToCoefficients, CoefficientsToElementarySymmetric and
ElementarySymmetricToPowerSums.
They were used in [EJ10]
to study K3 surfaces.
Set the verbose printing level for the analysis of weil polynomials.
Maximal value 2.
Given a polynomial f with rational coefficients this routine checks
that the complex roots of the polynomial are all of absolute value 1.
The algorithm does not use floating point approximations.
KnownFactor: RngUPolElt Default: 1
SetVerbose("WeilPolynomials", n): Maximum: 2
Given the sequence of Frobenius traces on the i-th etale cohomology this
function returns a list of possible characteristic polynomials. Here q
is the order of the basefield and deg is the degree of the characteristic
polynomial. In the case of even i the sign in the functional equation has
to be determined. This is done by checking the absolute values of the roots
of the hypothetical polynomials. In the case that this does not work both
candidates are returned. In the case of contradictory data an empty sequence
is returned.
If a factor of the characteristic polynomial is known it can be given as
optional argument.
Given a polynomial f this routine counts the zeros (with multiplicity)
of f that are q times a root of unity. This is an upper bound for
the Picard rank of the corresponding algebraic surface; according to the
Tate conjecture, it is precisely the Picard rank.
Given a Weil polynomial corresponding to H2 of an algebraic surface with
Hoge number h2, 0 this routine evaluates the Artin-Tate formula.
If the Tate conjecture holds, the two values returned are the arithmetic
Picard rank, and the absolute value of the discriminant of the Picard group
times the order of the Brauer group of the surface.
Given the characteristic polynomial f of the Frobenius on an etale cohomology
group. This routine returns the characteristic polynomial of the deg times
iterated Frobenius.
SurfDeg: RngIntElt Default: -1
Given a polynomial f this routine checks several conditions that must be
satisfied by the characteristic polynomial of the Frobenius on H2 of an
algebraic surface. Here q is the size of the basefield, h20 is the Hodge
number h2, 0 and SurfDeg is the degree of the surface (-1 means
degree unknown). For example, this routine can be used to determine the sign
in the functional equation.
The routine checks the valuation of the roots at all places (including p
and ∞). It also checks the functional equation and the Artin-Tate
conditions (see [EJ10] for details).
> q1<t> := PolynomialRing(RationalField());
> z4<x,y,z,w> := PolynomialRing(IntegerRing(),4);
> f := x^4 + x^3*z + x^2*y^2 + x^2*y*w + x^2*z^2 + x^2*z*w +
> x*y^3 + x*y*z*w + x*y*w^2 + x*z^2*w + y^3*w + y^2*z^2 +
> y^2*z*w + y^2*w^2 + y*z^2*w + z^4 + z*w^3;
> Tr := [];
> for i := 1 to 10 do
> P3 := ProjectiveSpace(GF(2^i),3);
> S := Scheme(P3,f);
> time
> Tr[i] := #Points(S) - 1 - 2^(2*i);
> end for;
> cpl := FrobeniusTracesToWeilPolynomials(Tr, 2, 2, 22: KnownFactor := t-2);
> cpl;
[
t^22 - t^21 - 2*t^20 - 4*t^19 + 16*t^17 + 32*t^16 - 64*t^15
+ 16384*t^7 - 32768*t^6 - 65536*t^5 + 262144*t^3
+ 524288*t^2 + 1048576*t - 4194304,
t^22 - t^21 - 2*t^20 - 4*t^19 + 16*t^17 + 32*t^16 - 64*t^15
- 16384*t^7 + 32768*t^6 + 65536*t^5 - 262144*t^3
- 524288*t^2 - 1048576*t + 4194304
]
Here the sign in the functional equation can not be determined by the
absolute values of roots test.
Further point counting would be very slow, as the coefficients of
t11, t10, t9, t8 are zero,
thus point counting over (F)_(215)
would be necessary to determine the sign in this way.
Instead, we can try to use more invariants of the surface.
> cpl_2 := [wp : wp in cpl | CheckWeilPolynomial(wp,2,1: SurfDeg := 4)];
> cpl_2;
[
t^22 - t^21 - 2*t^20 - 4*t^19 + 16*t^17 + 32*t^16 - 64*t^15
+ 16384*t^7 - 32768*t^6 - 65536*t^5 + 262144*t^3
+ 524288*t^2 + 1048576*t - 4194304
]
> WeilPolynomialToRankBound(cpl_2[1],2);
2
> ArtinTateFormula(cpl_2[1],2,1);
1 4
> ArtinTateFormula(WeilPolynomialOverFieldExtension(cpl_2[1],2),2^2,1);
2 68
Thus the minus sign in the functional equation is correct.
The surface has arithmetic Picard rank 1 and relative to the Tate
conjecture the geometric Picard group has rank 2
and discriminant either -17 or -68
(depending on the order of the Brauer group).
Advanced example: Bounding Picard rank with less point counting.
The computation is based on the same equation as the example above.
Now we do not use the most costly Frobenius trace, but we assume additional
cyclotomic factors.
> q1<t> := PolynomialRing(RationalField());
> Tr := [ 1, 5, 19, 33, 11, -55, 435, -31, -197]; /* First 9 Frob traces */
> cycl := [ Evaluate(CyclotomicPolynomial(i),t/2)*2^EulerPhi(i)
> : i in [1..100] | EulerPhi(i) lt 23];
> cycl[1] := cycl[1]^2;
> cycl[2] := cycl[2]^2; /* linear factors need multiplicity two */
> hyp := &cat [FrobeniusTracesToWeilPolynomials(Tr, 2, 2, 22 :
> KnownFactor := (t-2)*add) : add in cycl];
> hyp := SetToSequence(Set(hyp));
> hyp;
[
t^22 - t^21 - 2*t^20 - 4*t^19 + 16*t^17 + 32*t^16 - 64*t^15
- 16384*t^7 + 32768*t^6 + 65536*t^5 - 262144*t^3
- 524288*t^2 - 1048576*t + 4194304
]
Using only the number of point over F2, ..., F29
we can prove that either the Picard rank is bounded by 2 or the correct Weil
polynomial is in the list.
> CheckWeilPolynomial(hyp[1],2,1:SurfDeg := 4);
false
The invariants of the surface and the hypothetical Weil polynomial are
contradictory.
Thus the Picard rank is at most 2.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|