|
273 | 273 | @test automorphism_group_order(L) == lattice_automorphism_group_order(D, i)
|
274 | 274 | end
|
275 | 275 |
|
| 276 | + # 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 | + |
276 | 284 | # automorphisms for indefinite of rank 2
|
277 | 285 | U = hyperbolic_plane_lattice()
|
278 | 286 | G = @inferred automorphism_group_generators(U)
|
|
325 | 333 | @test T * gram_matrix(L2) * transpose(T) == gram_matrix(L)
|
326 | 334 | end
|
327 | 335 |
|
| 336 | + # 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 | + |
328 | 346 | #discriminant of a lattice
|
329 | 347 | L = integer_lattice(ZZ[1 0; 0 1], gram = matrix(QQ, 2,2, [2, 1, 1, 2]))
|
330 | 348 | @test discriminant(L) == -3
|
|
0 commit comments