Feb 8, 2016: Class groups (part 1)
William Stein
1. Basic computation of the class group
Sage can compute with the group of ideal classes in a number field. The real hard work under the hood is done by PARI.
2. Proof
The most critical thing to know about computing with ideal class groups in Sage is that by default Sage does not assume unproven conjectures. This makes computing the class group in the first place ridicuously (exponentially!) hard.
Algorithms for computing class groups involve computing some bound so that every ideal class is equivalent to one with norm at most . (You might remember that this was one approach to proving that the class group is finite with the coming from geometry of numbers...) To compute the class group, one finds such a , does a bunch of clever stuff (e.g., writing down lots of principal ideals and factoring them) with ideals up to norm , and determines the exact group structure.
With no unproven conjectures, is really large, in terms of the discriminant of the field.
There are conjectures -- such as GRH -- under which the bounds aren't so bad.
To tell Sage to allow unproved conjectures when computing class groups (which go beyond just GRH!), either explicitly pass in the proof=False flag, or use the proofs object.
Main point: explicitly computing class groups -- even of relative simple number fields -- is REALLY DIFFICULT.
Respect this problem. It's not easy.
Here's an example record: http://147.210.16.88/archives/pari-dev-1312/msg00018.html
Exercise right now: How many real-quadratic fields with have class number 1?
Surprising Open Problem: Prove that there are infinitely numbers fields with class number 1.
PARI -- where this functionality in Sage comes from:
The real hard work is Sage using the function pari_bnf, which is really bnfinit in PARI. When proof is true (the default), there's also another call to PARI to prove that the result it output is right.
See http://pari.math.u-bordeaux.fr/Events/PARI2012/talks/bnfinit.pdf for somethin gabout how bnfinit works.
4. -class group
Given a finite set of primes, the -ideal class group is quotient of the class group by the subgroup generated by ideals in .
Exercise:
Come up (by hook or crook) with an example of a field with a non-cyclic class group.
Find so for that field the -class group is cyclic (and compute and show this).