Computing Crystalline Cohomology and p-Divisible Groups for Curves over Finite Fields
Jeremy Booher
TL;DR
The paper presents a practical, polynomial-time scheme to compute the $p$-divisible group $ ext{Jac}(X)[p^ abla]$ of a curve over a finite field by obtaining the Dieudonné module from $H_{ ext{crys}}^1(X)$ via Frobenius $F$ and Verschiebung $V$, realized through a lift to $f Z_q$ and Tuitman’s $p$-adic point counting. Central to the method is identifying crystalline cohomology with the de Rham cohomology of a lift and embedding it as a lattice inside rigid cohomology, enabling explicit computation of $F$ and $V$ with controlled $p$-adic precision. The work introduces an idealized algorithm for computing $H_{ ext{dR}}^1( ilde X/f Z_q)$ using enhanced differentials of the second kind, and it provides a detailed precision analysis and implementation notes, including a fix for precision issues arising from lattice mismatches in existing Magma implementations. The results are supported by a refined complexity analysis showing polynomial-time behavior under reasonable lift and ramification assumptions, and the authors provide practical guidance and examples demonstrating feasibility on concrete curves.
Abstract
Let $X$ be a smooth projective curve over a finite field of characteristic $p$. We describe and implement a practical algorithm for computing the $p$-divisible group $Jac(X)[p^\infty]$ via computing its Dieudonné module, or equivalently computing the Frobenius and Verschiebung operators on the first crystalline cohomology of $X$. We build on Tuitman's $p$-adic point counting algorithm, which computes the rigid cohomology of $X$ and requires a ``nice'' lift of $X$ to be provided.
