# projectiveGeometry -- projective geometry of dimension n over F_p

## Synopsis

• Usage:
M = projectiveGeometry(n, p)
• Inputs:
• n, an integer, the dimension of the projective space
• p, an integer, a prime
• Outputs:
• , the projective geometry of dimension n over F_p

## Description

The projective geometry of dimension n over F_p is the matroid whose ground set consists of points in an n-dimensional projective space over F_p. The matroid structure is precisely the simple matroid associated to the realizable matroid of (F_p)^(n+1) (i.e. all vectors in an (n+1)-dimensional vector space over F_p) - the origin (being a loop) has been removed, and a representative is chosen for all parallel classes (= lines).

Note that projective space has a stratification into affine spaces (one of each smaller dimension). In particular, deleting any hyperplane from PG(n, p) gives AG(n, p).

 i1 : PG22 = projectiveGeometry(2, 2) o1 = a "matroid" of rank 3 on 7 elements o1 : Matroid i2 : PG22 == specificMatroid "fano" o2 = true i3 : A = transpose sub(matrix toList(((3:0)..(3:2-1))/toList), ZZ/2) -- all vectors in (ZZ/2)^3 o3 = | 0 0 0 0 1 1 1 1 | | 0 0 1 1 0 0 1 1 | | 0 1 0 1 0 1 0 1 | ZZ 3 ZZ 8 o3 : Matrix (--) <--- (--) 2 2 i4 : areIsomorphic(PG22, simpleMatroid matroid A) o4 = true i5 : PG32 = projectiveGeometry(3, 2) o5 = a "matroid" of rank 4 on 15 elements o5 : Matroid i6 : getRepresentation PG32 o6 = | 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 | | 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 | | 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 | | 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 | ZZ 4 ZZ 15 o6 : Matrix (--) <--- (--) 2 2 i7 : H = first hyperplanes PG32 o7 = set {8, 9, 10, 11, 12, 13, 14} o7 : Set i8 : areIsomorphic(affineGeometry(3, 2), PG32 \ H) o8 = true