@@ -273,13 +273,21 @@ end
273
273
@test automorphism_group_order (L) == lattice_automorphism_group_order (D, i)
274
274
end
275
275
276
+ # Force using ZZRingElem's
277
+ L = lattice (D, 75 )
278
+ Hecke. assert_has_automorphisms (L, try_small = false )
279
+ test_automorphisms (L, L. automorphism_group_generators, true )
280
+ @test L. automorphism_group_order == lattice_automorphism_group_order (D, 75 )
281
+
276
282
# Call the Bacher polynomials
277
- L = integer_lattice (gram = gram_matrix (lattice (D, 100 )))
278
- Ge = automorphism_group_generators (L, ambient_representation = true , bacher_depth = 1 )
279
- test_automorphisms (L, Ge, true )
280
- Ge = automorphism_group_generators (L, ambient_representation = false , bacher_depth = 1 )
281
- test_automorphisms (L, Ge, false )
282
- @test automorphism_group_order (L) == lattice_automorphism_group_order (D, 100 )
283
+ for i in [ 1 , 101 , 113 ] # triggering different checks in the Bacher polynomials
284
+ L = integer_lattice (gram = gram_matrix (lattice (D, i)))
285
+ Ge = automorphism_group_generators (L, ambient_representation = true , bacher_depth = 1 )
286
+ test_automorphisms (L, Ge, true )
287
+ Ge = automorphism_group_generators (L, ambient_representation = false , bacher_depth = 1 )
288
+ test_automorphisms (L, Ge, false )
289
+ @test automorphism_group_order (L) == lattice_automorphism_group_order (D, i)
290
+ end
283
291
284
292
# automorphisms for indefinite of rank 2
285
293
U = hyperbolic_plane_lattice ()
@@ -334,14 +342,16 @@ end
334
342
end
335
343
336
344
# Call the Bacher polynomials
337
- L = integer_lattice (gram = gram_matrix (lattice (D, 100 )))
338
- n = rank (L)
339
- X = change_base_ring (FlintQQ, _random_invertible_matrix (n, - 3 : 3 ))
340
- @assert abs (det (X)) == 1
341
- L2 = integer_lattice (gram = X * gram_matrix (L) * transpose (X))
342
- b, T = is_isometric_with_isometry (L, L2, ambient_representation = false , bacher_depth = 1 )
343
- @test b
344
- @test T * gram_matrix (L2) * transpose (T) == gram_matrix (L)
345
+ for i in [ 1 , 101 , 113 ] # triggering different checks in the Bacher polynomials
346
+ L = integer_lattice (gram = gram_matrix (lattice (D, i)))
347
+ n = rank (L)
348
+ X = change_base_ring (FlintQQ, _random_invertible_matrix (n, - 3 : 3 ))
349
+ @assert abs (det (X)) == 1
350
+ L2 = integer_lattice (gram = X * gram_matrix (L) * transpose (X))
351
+ b, T = is_isometric_with_isometry (L, L2, ambient_representation = false , bacher_depth = 1 )
352
+ @test b
353
+ @test T * gram_matrix (L2) * transpose (T) == gram_matrix (L)
354
+ end
345
355
346
356
# discriminant of a lattice
347
357
L = integer_lattice (ZZ[1 0 ; 0 1 ], gram = matrix (QQ, 2 ,2 , [2 , 1 , 1 , 2 ]))
727
737
G = matrix(FlintQQ, 6, 6 ,[876708188094148315826780735392810, 798141405233250328867679564294410, -352823337641433300965521329447720, 326768950610851461363580717982402, -690595881941554449465975342845028, 433433545243019702766746394677218, 798141405233250328867679564294410, 867615301468758683549323652197099, -301315621373858240463110267500961, 316796431934778296047626373086339, -725765288914917260527454069649226, 505082964151083450666500945258490, -352823337641433300965521329447720, -301315621373858240463110267500961, 809946152369211852531731702980788, -343784636213856787915462553587466, 84764902049682607076640678540130, -613908853150167850995565570653796, 326768950610851461363580717982402, 316796431934778296047626373086339, -343784636213856787915462553587466, 219957919673551825679009958633894, -226934633316066727073394927118195, 298257387132139131540277459301842, -690595881941554449465975342845028, -725765288914917260527454069649226, 84764902049682607076640678540130, -226934633316066727073394927118195, 671443408734467545153681225010914, -277626128761200144008657217470664, 433433545243019702766746394677218, 505082964151083450666500945258490, -613908853150167850995565570653796, 298257387132139131540277459301842, -277626128761200144008657217470664, 640432299215298238271419741190578])
728
738
L = integer_lattice (B, gram = G)
729
739
@test automorphism_group_order (L) == 2
740
+ @test is_isometric_with_isometry (L, L)[1 ]
730
741
G = [ ZZ[15 0 2 0 ; 0 30 0 4 ; 2 0 32 0 ; 0 4 0 64 ],
731
742
ZZ[0 15 0 2 ; 15 0 2 0 ; 0 2 0 32 ; 2 0 32 0 ]];
732
743
C = Hecke. ZLatAutoCtx (G)
0 commit comments