Polar Spaces More Generally

In V2.29 (September 2025), in order to support more functionality for polar spaces, a category SpcPlr has been added, and one can create a polar spaces also in this category.

Contents

Creation of PolarSpaces

AmbientPolarSpace(J) : AlgMatElt -> SpcPlr
AmbientPolarSpace(J, a) : AlgMatElt, FldAut -> SpcPlr
Builds a polar space with respect to the matrix J and the field automorphism a.
PolarSpace(L) : LatNF -> SpcPlr
PolarSpace(L) : Lat -> SpcPlr
AmbientSpace(L) : LatNF -> SpcPlr
The polar space associated to the lattice L.
ChangeRing(V, R) : SpcPlr, Rng -> SpcPlr
The polar space obtained from V by base change to R.

Properties of Polar Spaces

BaseField(V) : SpcPlr -> Fld
BaseRing(V) : SpcPlr -> Fld
CoefficientField(V) : SpcPlr -> Fld
CoefficientRing(V) : SpcPlr -> Fld
The field over which V is defined.
VectorSpace(V) : SpcPlr -> ModTupFld
KSpace(V) : SpcPlr -> ModTupFld
The underlying vector space.
Dimension(V) : SpcPlr -> RngIntElt
The dimension of V.
InnerForm(V) : SpcPlr -> AlgMatElt
The inner form associated to V.
Involution(V) : SpcPlr -> FldAut
The involution with respect to which V is hermitian or skew-hermitian.
SpaceType(V) : SpcPlr -> MonStgElt
The type of the polar space V, returned as a string.
Diagonal(V) : SpcPlr -> AlgMatElt
The coefficients of the diagonalized form.

Predicates on Polar Spaces

IsDefinite(V) : SpcPlr -> BoolElt
Whether V space is totally positive definite, or totally negative definite.
V2.29, 21 October 2025