> < ^ Date: Fri, 09 Aug 2002 12:09:10 +0200 (CEST)
< ^ From: Jan De Beule <jdebeule@cage.rug.ac.be >
< ^ Subject: Re: affine subspaces

Dear Gap Forum,
Dear Marco,

Some time ago I wrote a routine that did the work for projective
subspaces of a given PG(n,q). Since this routine is build in in a package
dealing with projective geometry, the code itself is not direct usable
for affine spaces. But maybe you can use the same idea and just adapt the
code. Suppose A1 en A2 are two projective spaces, spanned by two sets of
points a1 and a2. The routine goes as follows. We first compute two sets
of hyperplanes h1 and h2 such that A1 and A2 are exactly the intersection
of all hyperplanes in respectively h1 and h2. Then the intersection of A1
and A2 is the intersection of all the hyperplanes in h1 union h2. At last
we can again compute a set of points spanning the intersection. Remark
that we never compute all the points of the spaces A1 and A2. The linear
algebra is handled by two gap functions:

NullspaceMat

this function is used to compute the hyperplanes from a set of spanning
points (and vice versa)

SemiEchelonMat

this function is used to eliminate linear dependecies.
Both functions are clearly documented in the GAP manual.

The projective case is probably a little easier than the affine case,
since you don`t have to worry about parallel spaces. The advantage in the
affine case is that you don`t need to normalize the vectors.

You can find the code and the whole package at the following address:

http://cage.rug.ac.be/~jdebeule/pg

It is a standard gap package, the documentation is included and also
available in html.

Sincerely Yours,

Jan De Beule

```--
----------------------------------------------------------------------------
Jan De Beule                                         jdebeule@cage.rug.ac.be
Vakgroep Zuivere Wiskunde                              Jan.DeBeule@rug.ac.be
Galglaan 2,
B 9000 Gent (Belgium)                        http://cage.rug.ac.be/~jdebeule
----------------------------------------------------------------------------
```