CurrentModule = Oscar
We call quadratic space with isometry any pair
Note that currently, we support only rational quadratic forms, i.e.
quadratic spaces defined over
In Oscar, such a pair is encoded by the type called QuadSpaceWithIsom
:
QuadSpaceWithIsom
It is seen as a triple n = PosInf
. If n = -1
.
Given a quadratic space with isometry
isometry(::QuadSpaceWithIsom)
order_of_isometry(::QuadSpaceWithIsom)
space(::QuadSpaceWithIsom)
The main purpose of the definition of such objects is to define a contextual ambient space for quadratic lattices endowed with an isometry. Indeed, as we will see in the next section, lattices with isometry are attached to an ambient quadratic space with an isometry inducing the one on the lattice.
For simplicity, we have gathered the main constructors for objects of type
QuadSpaceWithIsom
under the same name quadratic_space_with_isometry
. The
user has then the choice on the parameters depending on what they intend to do:
quadratic_space_with_isometry(::Hecke.QuadSpace, ::QQMatrix)
quadratic_space_with_isometry(::Hecke.QuadSpace)
By default, the first constructor always checks whether the matrix defines an isometry of the quadratic space. We recommend not to disable this parameter to avoid any complications. Note however that in the rank 0 case, the checks are avoided since all isometries are necessarily trivial.
Given a quadratic space with isometry rank(Vf)
. Here is a list of what are the current accessible
attributes:
characteristic_polynomial(::QuadSpaceWithIsom)
det(::QuadSpaceWithIsom)
diagonal(::QuadSpaceWithIsom)
dim(::QuadSpaceWithIsom)
discriminant(::QuadSpaceWithIsom)
gram_matrix(::QuadSpaceWithIsom)
is_definite(::QuadSpaceWithIsom)
is_positive_definite(::QuadSpaceWithIsom)
is_negative_definite(::QuadSpaceWithIsom)
minimal_polynomial(::QuadSpaceWithIsom)
rank(::QuadSpaceWithIsom)
signature_tuple(::QuadSpaceWithIsom)
Similarly, some basic operations on quadratic spaces and matrices are available for quadratic spaces with isometry.
Base.:^(::QuadSpaceWithIsom, ::Int)
biproduct(::Vector{QuadSpaceWithIsom})
direct_product(::Vector{QuadSpaceWithIsom})
direct_sum(::Vector{QuadSpaceWithIsom})
rescale(::QuadSpaceWithIsom, ::RationalUnion)
Given a rational quadratic space
defined as follows. For
rational_spinor_norm(::QuadSpaceWithIsom)
We choose as a convention that two pairs