Goal
Define the p-rank of an abelian variety A/𝔽_q (q = p^r): p-rank(A) = dim_{𝔽_p} A(𝔽̄_p)[p], and the predicates ordinary (p-rank = g) and supersingular.
What already exists
- AINTLIB
HasseWeil: Tate module, torsion-point structure, the g = 1 good-reduction case. mathlib: finite fields, p-torsion of finite abelian groups.
What's missing
pRank A := dim_{𝔽_p} A(𝔽̄_p)[p], IsOrdinary A ↔ pRank A = g, IsSupersingular A; for g = 1, ordinary ⟺ p ∤ a_p.
Test cases
- An elliptic curve: ordinary ⟺
a_p ≠ 0 (mod p); supersingular ⟺ a_p ≡ 0. p-rank between 0 and g.
LMFDB targets
New area, not yet in the Verso blueprint — links go to the LMFDB knowls.
Goal
Define the p-rank of an abelian variety
A/𝔽_q(q = p^r):p-rank(A) = dim_{𝔽_p} A(𝔽̄_p)[p], and the predicates ordinary (p-rank = g) and supersingular.What already exists
HasseWeil: Tate module, torsion-point structure, theg = 1good-reduction case. mathlib: finite fields, p-torsion of finite abelian groups.What's missing
pRank A := dim_{𝔽_p} A(𝔽̄_p)[p],IsOrdinary A ↔ pRank A = g,IsSupersingular A; forg = 1, ordinary ⟺p ∤ a_p.Test cases
a_p ≠ 0 (mod p); supersingular ⟺a_p ≡ 0.p-rank between0andg.LMFDB targets
av.fq.p_rankav.fq.ordinaryav.fq.supersingularNew area, not yet in the Verso blueprint — links go to the LMFDB knowls.