# Nearfields

- [Introduction](Introduction.md)

- [Nearfield Properties](nearfield-properties.md)

  - [Sharply Doubly Transitive Groups](nearfield-properties.md#sharply-doubly-transitive-groups)

- [Constructing Nearfields](nearfield-code.md)

  - [Dickson Nearfields](nearfield-code.md#dickson-nearfields)

    - [`DicksonPairs(p, hlo, hhi, vlo, vhi): RngIntElt, RngIntElt, RngIntElt, RngIntElt, RngIntElt → SeqEnum`](nearfield-code.md#function-dicksonpairs-rngintelt-rngintelt-rngintelt-rngintelt-rngintelt)

    - [`DicksonPairs(p, h1, v1): RngIntElt, RngIntElt, RngIntElt → SeqEnum`](nearfield-code.md#function-dicksonpairs-rngintelt-rngintelt-rngintelt)

    - [`DicksonTriples(p, hb, vb): RngIntElt, RngIntElt, RngIntElt → SeqEnum`](nearfield-code.md#function-dicksontriples-rngintelt-rngintelt-rngintelt)

    - [`Example: dicksonpairs`](nearfield-code.md#example-ex-d7494c)

    - [`NumberOfVariants(q, v): RngIntElt, RngIntElt → RngIntElt`](nearfield-code.md#function-numberofvariants-rngintelt-rngintelt)

    - [`NumberOfVariants(N): NfdDck → RngIntElt`](nearfield-code.md#function-numberofvariants-nfddck)

    - [`VariantRepresentatives(q, v): RngIntElt, RngIntElt → SeqEnum`](nearfield-code.md#function-variantrepresentatives-rngintelt-rngintelt)

    - [`Example: variants`](nearfield-code.md#example-ex-20e6ea)

    - [`DicksonNearfield(q, v : parameters): RngIntElt, RngIntElt → NfdDck`](nearfield-code.md#function-dicksonnearfield-rngintelt-rngintelt)

    - [`Example: dickson`](nearfield-code.md#example-ex-da0033)

  - [Zassenhaus Nearfields](nearfield-code.md#zassenhaus-nearfields)

    - [`ZassenhausNearfield(n): RngIntElt → NfdZss`](nearfield-code.md#function-zassenhausnearfield-rngintelt)

    - [`Example: zassenhaus`](nearfield-code.md#example-ex-af8523)

- [Operations on Elements](nearfield-eltops.md)

  - [Nearfield Arithmetic](nearfield-eltops.md#nearfield-arithmetic)

    - [`+ a: NfdElt → NfdElt`](nearfield-eltops.md#operation-operation-nfdelt-nfdelt)

    - [`- a: NfdElt → NfdElt`](nearfield-eltops.md#operation-operation-nfdelt-nfdelt-2)

    - [`a + b: NfdElt, NfdElt → NfdElt`](nearfield-eltops.md#operation-op-plus-nfdelt-nfdelt)

    - [`a - b: NfdElt, NfdElt → NfdElt`](nearfield-eltops.md#operation-op-minus-nfdelt-nfdelt)

    - [`a * b: NfdElt, NfdElt → NfdElt`](nearfield-eltops.md#operation-op-times-nfdelt-nfdelt)

    - [`a / b: NfdElt, NfdElt → NfdElt`](nearfield-eltops.md#operation-op-div-nfdelt-nfdelt)

    - [`a ^ k: NfdElt, RngIntElt → NfdElt`](nearfield-eltops.md#operation-op-pow-nfdelt-rngintelt)

    - [`a +:= b: NfdElt, NfdElt → NfdElt`](nearfield-eltops.md#operation-operation-nfdelt-nfdelt-nfdelt)

    - [`a -:= b: NfdElt, NfdElt → NfdElt`](nearfield-eltops.md#operation-operation-nfdelt-nfdelt-nfdelt-2)

    - [`a *:= b: NfdElt, NfdElt → NfdElt`](nearfield-eltops.md#operation-operation-nfdelt-nfdelt-nfdelt-3)

    - [`Inverse(a): NfdElt → NfdElt`](nearfield-eltops.md#function-inverse-nfdelt)

  - [Equality and Membership](nearfield-eltops.md#equality-and-membership)

    - [`a eq b: NfdElt, NfdElt → BoolElt`](nearfield-eltops.md#operation-op-eq-nfdelt-nfdelt)

    - [`a ne b: NfdElt, NfdElt → BoolElt`](nearfield-eltops.md#operation-op-ne-nfdelt-nfdelt)

    - [`a in N: NfdElt, Rng → BoolElt`](nearfield-eltops.md#operation-op-in-nfdelt-rng)

    - [`a notin N: NfdElt, Rng → BoolElt`](nearfield-eltops.md#operation-op-notin-nfdelt-rng)

  - [Parent and Category](nearfield-eltops.md#parent-and-category)

    - [`Parent(a): NfdElt → FldFin`](nearfield-eltops.md#function-parent-nfdelt)

    - [`Category(a): NfdElt → Cat`](nearfield-eltops.md#function-category-nfdelt)

    - [`N ! x: Nfd, FldFinElt → NfdElt`](nearfield-eltops.md#operation-op-nfd-fldfinelt)

    - [`Element(N, x): Nfd, FldFinElt → NfdElt`](nearfield-eltops.md#function-element-nfd-fldfinelt)

    - [`ElementToSequence(x): NfdElt → SeqEnum`](nearfield-eltops.md#function-elementtosequence-nfdelt)

  - [Predicates on Nearfield Elements](nearfield-eltops.md#predicates-on-nearfield-elements)

    - [`IsZero(a): NfdElt → BoolElt`](nearfield-eltops.md#function-iszero-nfdelt)

    - [`IsUnit(a): NfdElt → BoolElt`](nearfield-eltops.md#function-isunit-nfdelt)

    - [`IsIdentity(a): NfdElt → BoolElt`](nearfield-eltops.md#function-isidentity-nfdelt)

    - [`Example: simplearith`](nearfield-eltops.md#example-ex-bb693c)

    - [`Example: leftdist`](nearfield-eltops.md#example-ex-60b080)

- [Operations on Nearfields](nearfield-ops.md)

  - [`N eq M: NfdDck, NfdDck → BoolElt`](nearfield-ops.md#operation-op-eq-nfddck-nfddck)

  - [`N ne M: NfdDck, NfdDck → BoolElt`](nearfield-ops.md#operation-op-ne-nfddck-nfddck)

  - [`#N: Nfd → RngIntElt`](nearfield-ops.md#operation-operation-nfd-rngintelt)

  - [`Cardinality(N): Nfd → RngIntElt`](nearfield-ops.md#function-cardinality-nfd)

  - [`Random(N): Nfd → NfdElt`](nearfield-ops.md#function-random-nfd)

  - [`Identity(N): Nfd → NfdElt`](nearfield-ops.md#function-identity-nfd)

  - [`Zero(N): Nfd → NfdElt`](nearfield-ops.md#function-zero-nfd)

  - [`PrimeField(N): Nfd → FldFin`](nearfield-ops.md#function-primefield-nfd)

  - [`Kernel(N): Nfd → FldFin`](nearfield-ops.md#function-kernel-nfd)

- [The Group of Units](nearfield-units.md)

  - [`UnitGroup(N): Nfd → GrpMat, Map`](nearfield-units.md#function-unitgroup-nfd)

  - [`UnitGroup(GrpPerm, N): Nfd → GrpPerm`](nearfield-units.md#function-unitgroup-nfd-2)

  - [`UnitGroup(GrpPC, N): NfdDck → GrpPC`](nearfield-units.md#function-unitgroup-nfddck)

  - [`UnitGroup(GrpPC, N): NfdZss → GrpPC`](nearfield-units.md#function-unitgroup-nfdzss)

  - [`Example: unitgrp`](nearfield-units.md#example-ex-110490)

  - [`Order(x): NfdElt → RngIntElt`](nearfield-units.md#function-order-nfdelt)

  - [`AffineGroup(N): Nfd → GrpMat`](nearfield-units.md#function-affinegroup-nfd)

  - [`AffineGroup(GrpPerm, N): Nfd → GrpPerm`](nearfield-units.md#function-affinegroup-nfd-2)

  - [`AffineGroup(GrpPC, N): NfdDck → GrpPC`](nearfield-units.md#function-affinegroup-nfddck)

  - [`AffineGroup(GrpPC, N): NfdZss → GrpPC`](nearfield-units.md#function-affinegroup-nfdzss)

  - [`ExtendedUnitGroup(D): NfdDck → GrpMat`](nearfield-units.md#function-extendedunitgroup-nfddck)

- [Automorphisms](nearfield-iso.md)

  - [`IsIsomorphic(N1, N2): NfdDck, NfdDck → BoolElt, Map`](nearfield-iso.md#function-isisomorphic-nfddck-nfddck)

  - [`AutomorphismGroup(N): NfdDck → GrpPerm, Map`](nearfield-iso.md#function-automorphismgroup-nfddck)

  - [`AutomorphismGroup(N): NfdZss → GrpPerm`](nearfield-iso.md#function-automorphismgroup-nfdzss)

- [Nearfield Planes](nearfield-planes.md)

  - [`ProjectivePlane(N : parameters): Nfd → PlaneProj, PlanePtSet, PlaneLnSet`](nearfield-planes.md#function-projectiveplane-nfd)

  - [`Example: projplane`](nearfield-planes.md#example-ex-f4d8e0)

  - [Hughes Planes](nearfield-planes.md#hughes-planes)

    - [`HughesPlane(N : parameters): Nfd → PlaneProj, PlanePtSet, PlaneLnSet`](nearfield-planes.md#function-hughesplane-nfd)

    - [`Example: hughes`](nearfield-planes.md#example-ex-c201b6)
