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