CoCalc Shared Fileswww / gross / lattice-aug16-01.tex
Author: William A. Stein
1\documentclass{article}
2\usepackage{fullpage}
3\title{One More Lattice Computation}
4\author{William Stein}
5\begin{document}
6\maketitle
7
8\tableofcontents
9\section{The Question}
10\begin{verbatim}
11Subject: one more
12From: gross@math.harvard.edu
13To: was@abel.math.harvard.edu
14Date: Thu, 16 Aug 2001 10:42:16 -0400 (EDT)
15
16Dear William,
17
18I want to request one more computation, like the one you did for me last
19week. It's in a simpler case, but I need a little more data.
20
22
23y^5 - 5*y^3 + 4*y -1
24
25which has discriminant 38569, and 5 real roots. A root y generates the
26ring A = Z[y] of integers in a totally real 5th degree numberfield,
27with class number 1 and strict class number 2. I calculated totally
28positive generators of the inverse different, up to squares of units,
29and got:
30
31d = (y^4 -4*y^2 + 1)/(5*y^4 - 15*y^2 + 4)
32
33d' = (y+2)*d
34
35if I did it right. Consider the lattices L = A with form Tr(dxy), and
36L' = A with form Tr(d'xy). Both are integral, unimodular, positive
37definite of rank 5, so must be isomorphic to Z^5. Hence both have
3810 short vectors of lenght 1, or five short vectors up to sign.
39
40I need the short vectors m of L and m' of L' up to sign, together
41with the 5 by 5 matrix of their inner products with respect to the
42first form: <m,m'> = Tr(dmm'). Can MAGMA handle this? I promise not
43to bother you again (for a while...).
44
45Thanks, Dick
46\end{verbatim}
47
48
49\section{The Input}
50\begin{verbatim}
51R<y> := PolynomialRing(RationalField());
52f := y^5 - 5*y^3 + 4*y -1;
53print "f has discriminant", Discriminant(f);
54
55RR := PolynomialRing(RealField());
56roots := [r[1] : r in Roots(RR!f)];
57print "roots = ", roots;
58
59K<a> := NumberField(f);   // a is image of y in K.
60A := MaximalOrder(K);
61"h_A = ", ClassNumber(A);
62function EmbeddingSigns(z)
63   h := RR!Eltseq(K!z);
64   return [Sign(Evaluate(h, roots[i])) : i in [1..#roots]];
65end function;
66
67d := (a^4 -4*a^2 + 1)/(5*a^4 - 15*a^2 + 4);
68dprime := (a+2)*d;
69
70print "\nEmbeddingSigns(d) =", EmbeddingSigns(d);
71print "EmbeddingSigns(dprime) =", EmbeddingSigns(dprime);
72
73print "\nNorm(d) =",Norm(d);
74print "Norm(dprime) =",Norm(dprime);
75print "Norm(1/f'(y)) =", Norm(1/Evaluate(Derivative(f),a));
76
77B_d := MatrixAlgebra(Integers(),5)!
78             [Trace(d*A.r*A.c) : r in [1..5], c in [1..5]];
79
80B_dprime := MatrixAlgebra(Integers(),5)!
81             [Trace(dprime*A.r*A.c) : r in [1..5], c in [1..5]];
82
83print "\nB_d =", B_d;
84print "B_dprime =", B_dprime;
85print "\nDeterminant(B_d) =", Determinant(B_d);
86print "Determinant(B_dprime) =", Determinant(B_dprime);
87
88L_d := LatticeWithGram(B_d);
89L_dprime := LatticeWithGram(B_dprime);
90
91short_d := [v[1] : v in ShortVectors(L_d,1)];
92short_dprime := [v[1] : v in ShortVectors(L_dprime,1)];
93
94print "\nThe length 1 vectors for L_d up to sign, are:", short_d;
95print "\nThe length 1 vectors for L_dprime up to sign, are:", short_dprime;
96
97print "\nThe inner-product matrix of the short vectors with respect";
98print "to the first form <m,m'> = Tr(dmm') is:";
99
100C := MatrixAlgebra(Rationals(),5)!
101          [InnerProduct(short_d[r], L_d!Eltseq(short_dprime[c])) :
102                          r in [1..5], c in [1..5]];
103
104print "Short product matrix:", C;
105print "which has determinant", Determinant(C);
106\end{verbatim}
107
108\section{The Output}
109\begin{verbatim}
112f has discriminant 38569
113roots =  [ 0.27583419331709204817213899775777366753,
114           0.79073430354452036503335025361110446084,
115          -1.1509841732749715814109750623618883790,
116           2.0384952910367372139914775431571571379,
117          -1.9540796146233780457859917321641468873 ]
118h_A =  1
119
120EmbeddingSigns(d) = [ 1, 1, 1, 1, 1 ]
121EmbeddingSigns(dprime) = [ 1, 1, 1, 1, 1 ]
122
123Norm(d) = 1/38569
124Norm(dprime) = 1/38569
125Norm(1/f'(y)) = 1/38569
126
127B_d =
128[ 1  0  1  0  2]
129[ 0  1  0  2  1]
130[ 1  0  2  1  6]
131[ 0  2  1  6  6]
132[ 2  1  6  6 22]
133B_dprime =
134[ 2  1  2  2  5]
135[ 1  2  2  5  8]
136[ 2  2  5  8 18]
137[ 2  5  8 18 34]
138[ 5  8 18 34 72]
139
140Determinant(B_d) = 1
141Determinant(B_dprime) = 1
142
143The length 1 vectors for L_d up to sign, are: [
144( 1 -2 -1  1  0),
145( 1  0 -1  0  0),
146(1 0 0 0 0),
147( 2 -1 -4  0  1),
148(0 1 0 0 0)
149]
150
151The length 1 vectors for L_dprime up to sign, are: [
152( 1 -3  1  2 -1),
153( 1 -2 -1  1  0),
154( 1 -2  1  2 -1),
155( 1  1 -3 -1  1),
156( 0  2 -1 -2  1)
157]
158
159Short product matrix:
160[ 2  1  0 -1  0]
161[ 1  0  0  0  0]
162[ 2  1  0 -1  1]
163[-1  0  0  1  0]
164[-2 -1  1  1 -1]
165which has determinant 1
166\end{verbatim}
167
168
169\end{document}
170