This is a code for class group computation for imaginary multiquadradic fields.
It is built on top of the implementation of the Biasse-van Vredendaal algorithm for the class group computation for real multiquadratic fields:
- Sage 9.4+
- Run
make
- Edit paths in Makefile according to your installation if code above fails.
- tests/ - unit tests
- trees/ - trees describing prime ideal splitting over subfields. Factor base is loaded from these files. They are generated by
trees_generation.sage
script. - relations/ - class group relation matrices for every subfield. They are generated by
testrelations.sage
script. - experiments/ - examples of class group computation.
- Set the target field in the file
trees_generation.sage
(food
variable). Alternatively, you can pass d_1 d_2 ... d_n as command line arguments of this script. - Run
sage trees_generation.sage
to generate trees. - Run
sage testrelations.sage
to compute class group and relation matrices for subfields. - Run
sage clgp_verify.sage d_1 d_2 ... d_n --log-zeta-res z --class-number h
to verify result of computation. Here z is the residue of Dedekind zeta function at 1. This value can be computed using Hecke, see examples in ''experiments'' folder.
- Currently only prime
$d_1, ..., d_n$ where$d_i \equiv 1 \bmod 4$ are supported. The output for$d_i \equiv 3 \bmod 4$ contains extra factors and thus partial.