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.

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.