OFFSET
1,1
COMMENTS
CAVEAT: Up to 10^5, the length of the 3-tower is unknown for the following discriminants: 17131, 21668, 24884, 28279, 34027, 35539, 64952, 65203, 72591, 92660, 92827. The performance of the MAGMA script in section PROG would be much slower, if the class number of the first Hilbert 3-class field were computed. This would admit a criterion for the exclusion of the mentioned exceptional discriminants. Therefore, including the superfluous brushwood was the lesser of two evils.
LINKS
J. R. Brink and R. Gold, Class field towers of imaginary quadratic fields, manuscripta math. 57 (1987), 425-450.
M. R. Bush and D. C. Mayer, 3-class field towers of exact length 3, arXiv:1312.0251 [math.NT], J. Number Theory, accepted for publication, 2014
A. Scholz and O. Taussky, Die Hauptideale der kubischen Klassenkörper imaginär quadratischer Zahlkörper, J. Reine Angew. Math. 171 (1934), 19-41.
EXAMPLE
The case 9748 (n=1) was discussed very thoroughly by Scholz and Taussky in 1934. However, this is the famous case where they erroneously claimed that the 3-tower has exactly two stages. Brink and Gold had doubts about this claim but were unable to exclude it definitely in 1987. Bush and Mayer were the first who succeeded in disproving this claim rigorously in 2012.
PROG
(Magma)
for d := 2 to 10^5 do a := false; if (3 eq d mod 4) and IsSquarefree(d) then a := true; end if; if (0 eq d mod 4) then r := d div 4; if IsSquarefree(r) and ((2 eq r mod 4) or (1 eq r mod 4)) then a := true; end if; end if; if (true eq a) then K := QuadraticField(-d); C := ClassGroup(K); if ([3, 3] eq pPrimaryInvariants(C, 3)) then E := AbelianExtension(mC); sS := Subgroups(C: Quot := [3]); sA := [AbelianExtension(Inverse(mQ)*mC) where Q, mQ := quo<C|x`subgroup>: x in sS]; sN := [NumberField(x): x in sA]; sF := [AbsoluteField(x): x in sN]; sM := [MaximalOrder(x): x in sF]; sM := [OptimizedRepresentation(x): x in sF]; sA := [NumberField(DefiningPolynomial(x)): x in sM]; sO := [Simplify(LLL(MaximalOrder(x))): x in sA]; delete sA, sN, sF, sM; p := 0; e := 0; for j in [1..#sO] do CO := ClassGroup(sO[j]); if (3 eq Valuation(#CO, 3)) then if ([3, 3, 3] eq pPrimaryInvariants(CO, 3)) then e := e+1; end if; else p := p+1; end if; end for; if (1 eq p) and ((0 eq e) or (1 eq e)) then d, ", "; end if; end if; end if; end for;
CROSSREFS
KEYWORD
hard,nonn
AUTHOR
Daniel Constantin Mayer, May 25 2014
STATUS
approved