[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Isometries and Similarities

If βis a bilinear or sesquilinear form on the vector space V, a linear transformation g of V is an isometry if g preserves β; it is a similarity if it preserves βup to a non-zero scalar multiple.

Subsections

Isometries

If J is an n x n matrix which represents a bilinear form and if M is a non-singular n x n matrix, then J and MJM^(tr) are said to be congruent and they define isometric polar spaces.

Conversely, given bilinear forms J1 and J2 the following example shows how to use the IsIsometric function to determine whether J1 and J2 are congruent and if so how to find a matrix M such that J1 = MJ2M^(tr).

IsIsometry(U, V, f) : ModTupFld, ModTupFld, Map -> BoolElt
Returns true if the map f is an isometry from U to V with respect to the attached forms.
IsIsometry(f) : Map -> BoolElt
Returns true if the map f is an isometry from its domain to its codomain.
IsIsometry(V, g) : ModTupFld, Mtrx -> BoolElt
Returns true if the matrix g is an isometry of V with respect to the attached form.
IsIsometric(V, W) : ModTupFld, ModTupFld -> BoolElt, Map
Determines whether the polar spaces V and W are isometric; if they are, an isometry is returned (as a map).

Example FldForms_isometric (H29E14)

A vector space is always equipped with a bilinear form and the default value is the identity matrix. However the "standard" symmetric form is Q + Q^(tr), where Q is the standard quadratic form. In the following example the polar spaces defined by these forms are similar but not isometric.

> F := GF(5);
> V1 := VectorSpace(F,5);
> PolarSpaceType(V1);
orthogonal space
> WittIndex(V1);
2
> J2 := StandardSymmetricForm(5,F);
> J2;
[0 0 0 0 1]
[0 0 0 1 0]
[0 0 2 0 0]
[0 1 0 0 0]
[1 0 0 0 0]
> V2 := VectorSpace(F,5,J2);
> IsIsometric(V1,V2);
false
> V3 := VectorSpace(F,5,2*J2);
> flag, f := IsIsometric(V1,V3); flag;
true
> IsIsometry(f);
true

Example FldForms_transform (H29E15)

Begin with alternating forms J1 and J2 over GF(25), construct the corresponding symplectic spaces and then use the isometry to define the matrix M.

> F<x> := GF(25);
> J1 := Matrix(F,4,4,[ 0, x^7, x^14, x^13, x^19, 0, x^8, x^5,
>   x^2, x^20, 0, x^17, x, x^17, x^5, 0 ]);
> J2 := Matrix(F,4,4,[ 0, x^17, 2, x^23, x^5, 0, x^15, x^5, 
>   3, x^3, 0, 4, x^11, x^17, 1, 0 ]);
> V1 := SymplecticSpace(J1);
> V2 := SymplecticSpace(J2);        
> flag, f := IsIsometric(V1,V2); assert flag;
> f;
Mapping from: ModTupFld: V1 to ModTupFld: V2 given by a rule
> M := Matrix(F,4,4,[f(V1.i) : i in [1..4]]);
> J1 eq M*J2*Transpose(M);
true

Example FldForms_transformalt (H29E16)

Another way to obtain a matrix with the same effect as M is to use the function TransformForm.

> M1 := TransformForm(J1,"symplectic");
> M2 := TransformForm(J2,"symplectic");
> M_alt := M1*M2^-1;
> J1 eq M_alt*J2*Transpose(M_alt);
true

CommonComplement(V, U, W) : ModTupFld, ModTupFld, ModTupFld) -> ModTupFld
A common complement to the subspaces U and W in the vector space V. (The subspaces must have the same dimension.) This is used by the following function, which implements Witt's theorem.

ExtendIsometry(V, U, f) : ModTupFld, ModTupFld, Map -> Map
An extension of the isometry f : U to V to an isometry V to V, where U is a subspace of the polar space V.

This is an implementation of Witt's theorem on the extension of an isometry defined on a subspace of a symplectic, unitary or quadratic space. The isometry f must satisfy f(U∩rad(V)) = f(U)∩rad(V).

If the characteristic is two and the form J of V is symmetric, then J must be alternating.

IsometryGroup(V) : ModTupFld) -> GrpMat
The group of isometries of the polar space V. This includes degenerate polar spaces as well as polar spaces defined by a quadratic form over a field of characteristic two.

Given a reflexive form J, the function IsometryGroup(J) defined in Chapter ALGEBRAS WITH INVOLUTION returns the isometry group of J. More generally, if S is a sequence of reflexive forms, the function IsometryGroup(S) returns the group of isometries of the system.


Example FldForms_isometrygroup (H29E17)

We give an example of an isometry group of a degenerate quadratic space over a field of characteristic 2.

> F := GF(4);
> Q1 := StandardQuadraticForm(4,F : Minus);
> Q := DiagonalJoin(Q1,ZeroMatrix(F,2,2));
> V := QuadraticSpace(Q);
> G := IsometryGroup(V);
> [ IsIsometry(V,g) : g in Generators(G) ];
[ true, true, true, true, true, true, true ]
> #G;
96259276800

Example FldForms_conjisom (H29E18)

The matrix M constructed in Example H29E15 can be used to conjugate the isometry group of J1 to the isometry group of J2.

> F<x> := GF(25);
> J1 := Matrix(F,4,4,[ 0, x^7, x^14, x^13, x^19, 0, x^8, x^5,
>   x^2, x^20, 0, x^17, x, x^17, x^5, 0 ]);
> J2 := Matrix(F,4,4,[ 0, x^17, 2, x^23, x^5, 0, x^15, x^5, 
>   3, x^3, 0, 4, x^11, x^17, 1, 0 ]);
> V1 := SymplecticSpace(J1);
> V2 := SymplecticSpace(J2);        
> flag, f := IsIsometric(V1,V2); assert flag;
> M := Matrix(F,4,4,[f(V1.i) : i in [1..4]]);
> G1 := IsometryGroup(V1);
> G2 := IsometryGroup(V2);
> M^-1*G1.1*M in G2;   
true
> M^-1*G1.2*M in G2;
true

Similarities

IsSimilarity(U, V, f) : ModTupFld, ModTupFld, Map -> BoolElt
Returns true if the map f is a similarity from U to V with respect to the attached forms.
IsSimilarity(f) : Map -> BoolElt
Returns true if the map f is a similarity from its domain to its codomain.
IsSimilarity(V, g) : ModTupFld, Mtrx -> BoolElt
Returns true if the matrix g is a similarity of V with respect to the attached form.
SimilarityGroup(V) : ModTupFld) -> GrpMat
The group of similarities of the polar space V. This includes degenerate polar spaces as well as polar spaces defined by a quadratic form over a field of characteristic two.
 [Next][Prev] [Right] [Left] [Up] [Index] [Root]

Version: V2.19 of Mon Dec 17 14:40:36 EST 2012