"Source: Text/Lat/LatNF.text";
"Line: 2264";
"Date: Fri Sep 26 12:10:10 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Lat/LatNF.text, line: 2264
// Example: H32E9 ()
print "Example: H32E9";
ei := GetEchoInput();
SetEchoInput(true);
K<u> := QuadraticField(5);
G := DiagonalMatrix([-(u+1)/2,1,1,1]);
L := NumberFieldLattice(K,4 : Gram:=G);
IsLorentzian(L);
assert $1;
v := L![(u+1)/2,(u+1)/2,0,1];
w := L![(u+1),(u+3)/2,(u+1)/2,(u+3)/2];
assert IsTimelike(v) and IsTimelike(w);
Norm(v), Norm(w);
b, T := IsIsometric(L,v,w); assert b; T;
assert T*w eq v;
#AutomorphismGroup(L,L![1,0,1,(3-u)/2]);
assert $1 eq 16;
#AutomorphismGroup(L,L![1,0,0,0]);
assert $1 eq 48;
#AutomorphismGroup(L,L![1,1,0,0]);
assert $1 eq 48;
#AutomorphismGroup(L,L![1,(u-1)/2,(u-1)/2,(u-1)/2]);
assert $1 eq 120;
s := L![1,0,(u-1)/2,(u-1)/2];
A, B := AutomorphismGroup(L,s);
#A,#B; // the automorphism group of s+O is larger than L
assert $1 eq 20;
O := OrthogonalComplement(L,s); // s+O has index 5 in L
assert #AutomorphismGroup(O) eq #B;
Norm(Determinant(sub<L|[s]>+O)/Determinant(L));
assert $1 eq 25;
SetEchoInput(ei);
