Numerical verification of the Cohen-Lenstra-Martinet heuristics and of
Greenberg's $p$-rationality conjecture

Razvan Barbulescu and Jishnu Ray

In our paper "Numerical verification of the Cohen-Lenstra-Martinet heuristics and of Greenberg's $p$-rationality conjecture" (on arXiv here), we provide a series of examples and make statistical computation on class numbers, p-adic regulators and p-rationality for towers of cyclic cubic fields. This website serves as a companion to the paper. It includes files with data, computation logs, and sage scripts that are necessary for our results.

Many facts (proven, conjectural or heuristic) about $p$-rational fields concern the natural density. Recall that any number field $K$ whose Galois group is abelian is contained in $\mathrm{Q}(\zeta_n)$ for some $n$, where $\zeta_n$ is a primitive $n$th root of unity; the smallest such integer is the conductor of $K$, denoted $\mathrm{cond}(K)$. Given a set $\mathcal{E}$ of number fields of abelian Galois group, we say that a subset $\mathcal{S}$ has a density and write $\mathrm{Prob}(K\in \mathcal{S})$ or $\mathrm{Prob}(K\in \mathcal{S}\mid K\in \mathcal{E})$ simply if the following limit exists

$\lim_{X\mapsto \infty}\frac{\#\{K\in \mathcal{S},\mathrm{cond}(K)\leq X\}}{ \#\{K\in \mathcal{E},\mathrm{cond}(K)\leq X\}}.$

This requires to make a script to enumerate number fields $K$ such that $\mathrm{Gal}(K)\simeq(\mathbb{Z}/\ell\mathbb{Z})^r$ for a prime $\ell$ and an integer $r$ and $\mathrm{cond}(K)\leq X$ (ListFields.sage). An algorithm of Pitoun and Varescon allows to determine for each enumerated field if $K$ is $p$-rational (PitounVarescon.sage). However we use criteria which allow to certify $p$-rationality considerably faster for many of the fields.

Below is a table with links to files to check the examples.

Filename File type Description
check-table1.sage sage script This script checks for each line of Table 1 that the compositum of quadratic fields is p-rational, where p is specified on the same line. (This script is painfully slow, you might want to use a variant based on Lemma 2.1 : check-table1-fast.sage with auxiliary file fast-rational.sage.)
check-table3.sage sage script This script checks that the examples in Table 3 have the announced Galois group and are p-rational as indicated.

Below is a table with links to data files.

Filename File type Description
table4.txt.gz (27 Mbytes) gzipped text Data on the density of cyclic cubic fields whose class number is divisible by $p=5$, $7$, $11$, $13$ and respectively $19$. The fields are listed in order of the conductor of their number fields, which goes from $7$ to $10^7$. The format of each line is "$f:a_5,a_7,a_{11},a_{13},a_{19}$", where $a_p$ is "True" if $p$ divides the class number of the number field of $f$ and "False" otherwise.
table5.txt.gz (12 Mbytes) gzipped text Statistics on the density of fields of Galois group $\mathbb{Z}/3\mathbb{Z}\times\mathbb{Z}/3\mathbb{Z}$ whose class number is divisible by $p=5$, $7$, $11$, $13$, $17$ and respectively $19$. The format of each line is "$f:a_5,a_7,a_{11},a_{13},a_{19}$", where $a_p$ is "True" if $p$ divides the class number of the number field of $f$ and "False" otherwise.
table6.txt.gz (3.5 Mbytes) text file Numerical verification of Conjecture 5.4 in the case where $\mathrm{Gal}(K)=(\mathbb{Z}/2\mathbb{Z})^3$. The sample consists of number fields which can be written as $K=\mathbb{Q}(\sqrt{d_1},\sqrt{d_2},\sqrt{d_3})$ with $2\leq d_1,d_2,d_3\leq 300$ squarefree and distinct. The format of each line is "$(d_1,d_2,d_3):b_5,b_7,b_{11},b_{13}$", where $b_p$ is "False" if $p$ doesn't divide the $p$-adic regulator of the quadratic subfields of $\mathbb{Q}(\sqrt{d_1},\sqrt{d_2},\sqrt{d_3})$ and "True" otherwise.

Below is a table with links to program files.

Filename File type Description
ListFields.sage sage script This script makes the list of number fields K such that $\mathrm{Gal}(K) = (\mathbb{Z}/\ell\mathbb{Z})^r$ where $\ell$ is a prime and $r$ an integer, with conductor comprised in an interval [E1,E2].
PitounVarescon.sage sage script This script implements the algorithm of Pitoun and Varescon to test if a number field is p-rational. Reference : Pitoun, F., & Varescon, F. (2015). Computing the torsion of the 𝑝-ramified module of a number field. Mathematics of Computation, 84(291), 371-383.
algorithm1.sage sage script This script implements Algorithm 1, which is a criterium to test that the class number of cyclic cubic fields is not divisible by a prime $p$.
algorithm2.sage sage script This sage script implements Algorithm 2. It is a fast algorithm to compute a unit in a cyclic cubic field K, which allows in some cases to certify rapidly that the p-adic regulator of K is not divisible by p.
MN-Gras.sage sage script This script illustrates that, in a cyclic cubic field, the index of the group of cyclcotomic units in the group of units is a multiple of the class number.
algorithm3.sage sage script This script reads a file which contains on each line a cyclic cubic field and, for a given list of primes p, tries to certify that the p-adic regulator is not divisible by p. It is Algorithm 3.
algorithm4.sage sage script This script decides p-rationality of a list of cyclic cubic fields as in Algorithm 4.

Less important, here is a list of scripts to find examples.

Filename File type Description
search_example_2_11.sage sage script This scripts seaches for totally real number fields $K=\mathbb{Q}(d_1^{1/2}, \ldots,d_t^{1/2})$ which are p-rational. Final result is printed in file examples-p-t.txt where p and t are to be replaced by their value.
add_negative_d.sage sage script Given a totally real number field $\mathbb{Q}(d_1^{1/2}, \ldots,d_t^{1/2})$ this script searches for a which are p-rational. Final result is printed in file examples-p-t.txt where p and t are to be replaced by their value.
lemma_3_4.sage sage script A script to check the computations in Lemma 3.4.
remark3-10.sage sage script A script to check the computations in Lemma 3.4. Auxiliary files are clean_cubic-1-4000-3-1.txt, fastprincipal-1-4000-3-1.txt, fastnonprincipal-1-4000-3-1.txt and principalnonfast-1-4000-3-1.txt.

Fot this page we use the template of Rouse and Zureick-Brown.