There are various methods to count points on varieties over finite fields. This section describes a p-adic method to count the number of points on K3 surfaces of degree 2 over finite fields. The result of the point count is returned as the characteristic polynomial of the Frobenius on the second cohomology vector space.
Set the verbose printing level for the p-adic point counting algorithm. Maximal value 2.
KnownFactor: RngUPolElt Default: false
Given a homogeneous polynomial f6 of degree 6 in 3 variables over a finite field, this function considers the double cover of the projective plane w2 = f6. If this surface is smooth or has only du Val singularities, it is a model of a K3 surface. In this case a p-adic point counting method is applied to the surface. Further, the Frobenius action on the singularities is analyzed. If the singularities are harder, then zero is returned twice. Otherwise, the characteristic polynomial of the Frobenius on the second cohomology of the surface is returned as two factors. The first factor corresponds to the potentially singular model given. If a divisor of the first factor is known the computation can be sped up by assigning it to KnownFactor.The second factor corresponds to the exceptional divisors generated by blowing up all singularities. The singularity analysis is done without performing any blow-up steps. See section Singularity Properties for details. If the Frobenius action on the singularities is too complex to be covered by the current implementation then 0 is returned.
A prime number p is called non-ordinary for a K3 surface, if and only if the number of points on the reduction of the K3 surfaces modulo p is congruent to 1 modulo p. This intrinsic returns a list of all the odd non-ordinary primes of the surface w2 = f6 up to lim.
Returns as a sequence the numbers of points on the K3-surface w2 = f6 over GF(p), ..., GF(pd).
> r3<x,y,z> := PolynomialRing(Integers(),3); > f6 := x*y*z*(x+y+z)*(x+2*y+5*z)*(3*x+2*y-7*z); > wf1,wf2 := WeilPolynomialOfDegree2K3Surface(PolynomialRing(GF(61),3)!f6); > wf1; t^7 - 15*t^6 - 4575*t^5 - 234423*t^4 + 14299803*t^3 + 1038438075*t^2 + 12668944515*t - 3142742836021 > wf2; t^15 - 915*t^14 + 390705*t^13 - 103276355*t^12 + 18899572965*t^11 - 2536322691903*t^10 + 257859473676805*t^9 - 20223550149795135*t^8 + 1233636559137503235*t^7 - 58529201194634875705*t^6 + 2142168763723636450803*t^5 - 59396497539609919772265*t^4 + 1207728783305401702036055*t^3 - 17001105180376039344046005*t^2 + 148152488000419771426686615*t - 602486784535040403801858901 > PolynomialToPowerSums(wf1); [ 15, 9375, 912519, 2895543, 1009235775, 16650196047, 4570755285559 ] Factorization(wf1); [ <t - 61, 1>, <t^6 + 46*t^5 - 1769*t^4 - 342332*t^3 - 6582449*t^2 + 636908686*t + 51520374361, 1> ]From the power sums we can derive the number of points on the singular model over F61, ..., F617 as 1 + 15 + 612, 1 + 9375 + 614, ..., 1 + 4570755285559 + 6114. Further, the desingularization of the model will produce 15 exceptional lines. Finally, the factorization of wf1 shows that the K3 surface and its reduction modulo 61 have geometric Picard rank 16.
> r3<x,y,z> := PolynomialRing(Integers(),3); > NonOrdinaryPrimes(x^6+y^6+z^6 + 3*(x*y*z)^2,1000); [ 3, 61, 89, 103, 419, 593, 613, 719 ] > NonOrdinaryPrimes(x^6+y^6+z^6 - 3*(x*y*z)^2,1000); [ 3, 7, 11, 19, 23, 31, 43, 47, 59, 67, 71, 79, 83, 103, 107, 127, 131, 139, 151, 163, 167, 179, 191, 199, 211, 223, 227, 239, 251, 263, 271, 283, 307, 311, 331, 347, 359, 367, 379, 383, 419, 431, 439, 443, 463, 467, 479, 487, 491, 499, 503, 523, 547, 563, 571, 587, 599, 607, 619, 631, 643, 647, 659, 683, 691, 719, 727, 739, 743, 751, 787, 811, 823, 827, 839, 859, 863, 883, 887, 907, 911, 919, 947, 967, 971, 983, 991 ]The examples show that some K3 surfaces have very few non-ordinary primes and others have a lot of them.