Tamagawa Numbers and Component Groups of Neron Models

Contents

Component Groups

Suppose A is a newform modular abelian variety over Q over level N. For any prime p that exactly divides N, the order of the component group of A over the algebraic closure of GF(p) can be computed. The nontrivial algorithm is described in [CS01] and [KS00]. It is an open problem to compute the structure of the component group or the order under more general hypothesis.

ComponentGroupOrder(A, p) : ModAbVar, RngIntElt -> RngIntElt
The order of the component group of the special fiber of the Neron model of A over the algebraic closure of GF(p). The abelian variety A must be attached to a newform.

Example ModAbVar_Compgrp-Component_Groups (H145E120)

> J := JZero(65); J;
Modular abelian variety JZero(65) of dimension 5 and level 5*13 over Q
> A := Decomposition(J)[3];
> ComponentGroupOrder(A,13);
1
> ComponentGroupOrder(A,5);
7

Tamagawa Numbers

Suppose A is an abelian variety over Q that is attached to a newform. A divisor and an integer some power of which is a multiple of the Tamagawa number of A at a prime p can be determined. When p2 divides the level, the reduction is additive, we use the Lenstra-Oort bound from [LO85].

TamagawaNumber(A, p) : ModAbVar, RngIntElt -> RngIntElt, RngIntElt, BoolElt
A divisor of the Tamagawa number of the abelian variety A at the prime p and an integer some power of which is a multiple of the Tamagawa number of A at p. Also return true if the divisor of the Tamagawa number is provably equal to the Tamagawa number of A. The abelian variety A must be attached to a newform.
TamagawaNumber(A) : ModAbVar -> RngIntElt, RngIntElt, BoolElt
Let c be the product of the Tamagawa numbers of A at primes of bad reduction, where A is an abelian variety over Q attached to a newform. This command returns a divisor of c, an integer some power of which is a multiple of c, and true if the divisor is provably equal to c.

Example ModAbVar_Compgrp-Tamagawa_Numbers (H145E121)

> J := JZero(65);
> TamagawaNumber(J(2),5);
2 2 false
> TamagawaNumber(J(2),13);
3 3 true
> TamagawaNumber(J(3),5);
7 7 true
> TamagawaNumber(J(3),13);
2 2 false
>
> J := JZero(5^2*7);
> TamagawaNumber(J(1));
2 30 false
> TamagawaNumber(J(1),5);
1 30 false
> TamagawaNumber(J(1),7);
2 2 false
V2.28, 13 July 2023