GAP (FinInG) - Appendix C: Low level functions for morphisms

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A B C Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax on]

C Low level functions for morphisms
C.1 Field reduction and vector spaces
C.1-1 ShrinkVec
C.1-2 ShrinkMat
C.1-3 BlownUpProjectiveSpace
C.1-4 BlownUpProjectiveSpaceBySubfield
C.1-5 BlownUpSubspaceOfProjectiveSpace
C.1-6 BlownUpSubspaceOfProjectiveSpaceBySubfield
C.1-7 IsDesarguesianSpreadElement
C.2 Field reduction and forms
C.2-1 QuadraticFormFieldReduction
C.2-2 BilinearFormFieldReduction
C.2-3 HermitianFormFieldReduction
C.3 Low level functions
C.3-1 PluckerCoordinates
C.3-2 IsomorphismPolarSpacesProjectionFromNucleus
C.3-3 IsomorphismPolarSpacesNC
C.3-4 NaturalEmbeddingBySubspaceNC
C.3-5 NaturalProjectionBySubspaceNC

### C Low level functions for morphisms

#### C.1 Field reduction and vector spaces

##### C.1-1 ShrinkVec

`‣ ShrinkVec`( f1, f2, v, basis ) | ( operation )

`‣ ShrinkVec`( f1, f2, v ) | ( operation )

Returns: a vector

The argument f2 is a subfield of f1 and v is vector in a vectorspace V over f2. The second flavour Returns return the vector of length d/t, where d=dim(V), and t=[f1:f2]. The first flavour uses the natural basis `Basis(AsVectorSpace(f2,f1))`. It is not checked whether f2 is a subfield of f1, but it is checked whether the lengt of v is a multiple of the degree of the field extension.

##### C.1-2 ShrinkMat

`‣ ShrinkMat`( basis, matrix ) | ( operation )

`‣ ShrinkMat`( f1, f2, matrix ) | ( operation )

Returns: a matrix

Let K be the field GF(q) and let L be the field GF(qt). Asumme that B is a basis for L as K vector space. Let A=(aij ) be a matrix over L. The result of `BlownUpMat(B,A)` is the matrix M=(mij ), where each entry a=aij is replaced by the t × t matrix Ma, representing the linear map x ↦ ax with respect to the basis B. This means that if B={b1,b2,...,bt}, then row j is the row of the t coefficients of abj with resepect to the basis B. The operation `ShrinkMat` implements the converse of `BlownUpMat`. It is checked if the input is a blown up matrix as follows. Let A be a tm × tn matrix. For each t × t block, say M, we need to check that the set {bi-1∑1tmijbj: i ∈ {1,...,t}}. has size one, since the unique element in that case is the element a ∈ L represented as a linear map by M with respect to the basis B.

The first flavour of this operation requires a given basis as first argument. The second flavour requires a field f1 and a subfield f2 as first two arguments and calls the first flavour with `Basis(AsVectorSpace(f2,f1))` as basis. It is not checked whether f2 is a subfield of f1.

##### C.1-3 BlownUpProjectiveSpace

`‣ BlownUpProjectiveSpace`( basis, pg1 ) | ( operation )

Returns: a projective space

Let basis be a basis of the field GF(qt) that is an extension of the basefield of the r-1 dimensional projective space pg1. This operation returns the rt-1 dimensional projective space over GF(q). The basis itself is only used to determine the field GF(qt).

##### C.1-4 BlownUpProjectiveSpaceBySubfield

`‣ BlownUpProjectiveSpaceBySubfield`( subfield, pg ) | ( operation )

Returns: a projective space

Blows up a projective space pg with respect to the standard basis of the basefield of pg over the subfield.

##### C.1-5 BlownUpSubspaceOfProjectiveSpace

`‣ BlownUpSubspaceOfProjectiveSpace`( basis, subspace ) | ( operation )

`‣ BlownUpSubspaceOfProjectiveSpace`( basis, space ) | ( operation )

Returns: a subspace of a projective space

The first flavour blows up a subspace of a projective space with respect to the basis using field reduction and returns a subspace of the projective space obtained from blowing up the ambient projective space of subspace with respect to basis using field reduction. This operation relies on `BlownUpMat`.

##### C.1-6 BlownUpSubspaceOfProjectiveSpaceBySubfield

`‣ BlownUpSubspaceOfProjectiveSpaceBySubfield`( subfield, subspace ) | ( operation )

Returns: a subspace of a projective space

Blows up a subspace of a projective space with respect to the standard basis of the basefield of subspace over the subfield, using field reduction and returns it a subspace of the projective space obtained from blowing up the ambient projective space of subspace over the subfield.

##### C.1-7 IsDesarguesianSpreadElement

`‣ IsDesarguesianSpreadElement`( basis, subspace ) | ( operation )

Returns: true or false

Checks wether the subspace is a subspace which is obtained from a blowing up a projective point using field reduction with respect to basis.

#### C.2 Field reduction and forms

The embedding of polar spaces by field reduction is explained in detail in Section 10.5-3, and relies on the following three operations.

##### C.2-1 QuadraticFormFieldReduction

`‣ QuadraticFormFieldReduction`( qf1, f2, alpha, basis ) | ( operation )

`‣ QuadraticFormFieldReduction`( qf1, f2, alpha ) | ( operation )

Returns: a quadratic form

Let f be quadratic form determining a polar space over the field L This operation returns the quadratic form Tα • f • Φ -1 over a subfield K of L, as explained in Section 10.5-3.

##### C.2-2 BilinearFormFieldReduction

`‣ BilinearFormFieldReduction`( bil11, f2, alpha, basis ) | ( operation )

`‣ BilinearFormFieldReduction`( bil11, f2, alpha ) | ( operation )

Returns: a bilinear form

Let f be bilinear form determining a polar space over the field L This operation returns the bilinear form Tα • f • Φ -1 over a subfield K of L, as explained in Section 10.5-3.

##### C.2-3 HermitianFormFieldReduction

`‣ HermitianFormFieldReduction`( hf1, f2, alpha, basis ) | ( operation )

`‣ HermitianFormFieldReduction`( hf1, f2, alpha ) | ( operation )

Returns: a hermitian form

Let f be bilinear form determining a polar space over the field L This operation returns the hermitian form Tα • f • Φ -1 over a subfield K of L, as explained in Section 10.5-3.

#### C.3 Low level functions

##### C.3-1 PluckerCoordinates

`‣ PluckerCoordinates`( matrix ) | ( operation )

`‣ InversePluckerCoordinates`( vector ) | ( operation )

The first operation can also take a matrix representing a line of PG(3,q) as argument. No checks are performed in this case. It returns the plucker coordinates of the argument as list of finite field elements. The second operation is the inverse of the first. No check is performed whether the argument represents a point of the correct hyperbolic quadric. Both operations are to be used internally only.

##### C.3-2 IsomorphismPolarSpacesProjectionFromNucleus

`‣ IsomorphismPolarSpacesProjectionFromNucleus`( quadric, w, boolean ) | ( operation )

This operation returns the isomorphism between a parabolic quadric and a sympletic polar space. Although it is checked whether the base field and rank of both polar spaces are equal, this operation is menat for internal use only. This operation is called by the operation `IsomorphismPolarSpaces`.

##### C.3-3 IsomorphismPolarSpacesNC

`‣ IsomorphismPolarSpacesNC`( ps1, ps2 ) | ( operation )

`‣ IsomorphismPolarSpacesNC`( ps1, ps2, boolean ) | ( operation )

`IsomorphismPolarSpacesNC` is the version of `IsomorphismPolarSpaces` where no checks are built in, and which is only applicable when the two polar spaces are equivalent. As no checks are built in, this operation is to be used internally only.

##### C.3-4 NaturalEmbeddingBySubspaceNC

`‣ NaturalEmbeddingBySubspaceNC`( geom1, geom2, v ) | ( operation )

The operation `NaturalEmbeddingBySubspaceNC` is the ``no check'' version of `NaturalEmbeddingBySubspace`.

##### C.3-5 NaturalProjectionBySubspaceNC

`‣ NaturalProjectionBySubspaceNC`( ps, v ) | ( operation )

The operation `NaturalEmbeddingBySubspaceNC` is the ``no check'' version of `NaturalEmbeddingBySubspace`.

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A B C Bib Ind

generated by GAPDoc2HTML