# Subplanes

The `sub` constructor allows subplanes of a projective or affine plane to be created. For classical planes, the `SubfieldSubplane` function is also provided.

## `sub<P | L>: Plane, List -> Plane`

Given a plane $P$, construct the subplane of $P$ generated by the points specified by $L$, where $L$ is a list of one or more items of the following types:

**(a)**
A point of $P$;

**(b)**
A set or sequence of points of $P$;

**(c)**
A subplane of $P$;

**(d)**
A set or sequence of subplanes of $P$.

The set $S$ of points defined by the list $L$ must include a quadrangle if $P$ is a projective plane and three non-collinear points if $P$ is an affine plane. The function returns the smallest subplane of $P$ containing $S$.

## `SubfieldSubplane(P, F): Plane, FldFin -> Plane, PlanePtSet, PlaneLnSet`

The plane obtained from the classical plane $P$ by taking only those points of $P$ which have all coordinates lying in $F$, where $F$ must be a subfield of `Field(P)`.

## `Example: sub (ex-6d2e99)`

In the plane $PG_2(4)$, the points $(1 : 0 : 0), (0 : 1 : 0), (0 : 0 : 1)$ and $(1 : w : 1)$, where $w$ is a primitive element of ${\bf F}_{4}$, form a quadrangle. We form the subplane of $PG_2(4)$ generated by this quadrangle.

```magma
> K<w> := GF(4);
> P, V, L := FiniteProjectivePlane(K);
> S := sub< P | [ V | [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, w, 1] ] >;
> S: Maximal;
Projective Plane of order 2
Points: {@ ( 1 : 0 : 0 ), ( 0 : 1 : 0 ), ( 0 : 0 : 1 ), ( 1 : w : 0 ),
( 1 : 0 : 1 ), ( 1 : w : 1 ), ( 0 : 1 : w^2 ) @}
Lines:
    {( 0 : 1 : 0 ), ( 0 : 0 : 1 ), ( 0 : 1 : w^2 )},
    {( 1 : 0 : 0 ), ( 0 : 0 : 1 ), ( 1 : 0 : 1 )},
    {( 1 : 0 : 0 ), ( 0 : 1 : 0 ), ( 1 : w : 0 )},
    {( 1 : 0 : 0 ), ( 1 : w : 1 ), ( 0 : 1 : w^2 )},
    {( 0 : 1 : 0 ), ( 1 : 0 : 1 ), ( 1 : w : 1 )},
    {( 0 : 0 : 1 ), ( 1 : w : 0 ), ( 1 : w : 1 )},
    {( 1 : w : 0 ), ( 1 : 0 : 1 ), ( 0 : 1 : w^2 )}

```

We next form the subplane of $AG_2(4)$ over ${\bf F}_{2}$.

```magma
> A := FiniteAffinePlane(4);
> S := SubfieldSubplane(A, GF(2));
> S: Maximal;
Affine Plane AG(2, 2)
> S subset A;
true

```
