HaskellForMaths-0.4.8: Combinatorics, group theory, commutative algebra, non-commutative algebra

Safe HaskellNone
LanguageHaskell98

Math.Combinatorics.FiniteGeometry

Description

Constructions of the finite geometries AG(n,Fq) and PG(n,Fq), their points, lines and flats, together with the incidence graphs between points and lines.

Synopsis

Documentation

ptsAG :: Int -> [a] -> [[a]] Source

ptsAG n fq returns the points of the affine geometry AG(n,Fq), where fq are the elements of Fq

ptsPG :: Num a => Int -> [a] -> [[a]] Source

ptsPG n fq returns the points of the projective geometry PG(n,Fq), where fq are the elements of Fq

pnf :: (Fractional a, Eq a) => [a] -> [a] Source

ispnf :: (Num t, Eq t) => [t] -> Bool Source

closureAG :: (Num a, Ord a, FinSet a) => [[a]] -> [[a]] Source

Given a list of points in AG(n,Fq), return their closure, the smallest flat containing them

lineAG :: (FinSet a, Ord a, Num a) => [[a]] -> [[a]] Source

closurePG :: (Num a, Ord a, FinSet a) => [[a]] -> [[a]] Source

Given a set of points in PG(n,Fq), return their closure, the smallest flat containing them

linePG :: (FinSet t, Ord t, Num t) => [[t]] -> [[t]] Source

qtorial :: (Integral b, Integral a) => b -> a -> a Source

qnomial :: (Integral b, Integral a) => b -> b -> a -> a Source

numFlatsPG :: (Integral b, Integral a) => b -> a -> b -> a Source

numFlatsAG :: (Integral b, Integral a) => b -> a -> b -> a Source

qtorials :: Integral a => a -> [a] Source

qnomials :: Num d => d -> [[d]] Source

data ZeroOneStar Source

Constructors

Zero 
One 
Star 

rrefs :: Int -> Int -> [[[ZeroOneStar]]] Source

flatsPG :: (Eq a, Num a) => Int -> [a] -> Int -> [[[a]]] Source

flatsPG n fq k returns the k-flats in PG(n,Fq), where fq are the elements of Fq. The returned flats are represented as matrices in reduced row echelon form, the rows of which are the points that generate the flat. The full set of points in the flat can be recovered by calling closurePG

flatsAG :: (Eq a, Num a) => Int -> [a] -> Int -> [[[a]]] Source

flatsAG n fq k returns the k-flats in AG(n,Fq), where fq are the elements of Fq.

linesPG :: (Eq a, Num a) => Int -> [a] -> [[[a]]] Source

The lines (1-flats) in PG(n,fq)

linesAG :: (Eq a, Num a) => Int -> [a] -> [[[a]]] Source

The lines (1-flats) in AG(n,fq)

linesAG1 :: (FinSet a, Ord a, Num a) => Int -> [a] -> [[[a]]] Source

linesAG2 :: (FinSet a, Ord a, Num a) => Int -> [a] -> [[[a]]] Source

incidenceGraphPG :: (Num a, Ord a, FinSet a) => Int -> [a] -> Graph (Either [a] [[a]]) Source

Incidence graph of PG(n,fq), considered as an incidence structure between points and lines

incidenceGraphAG :: (Num a, Ord a, FinSet a) => Int -> [a] -> Graph (Either [a] [[a]]) Source

Incidence graph of AG(n,fq), considered as an incidence structure between points and lines

orderGL :: (Num a, Integral b) => b -> a -> a Source

orderAff :: (Num a, Integral b) => b -> a -> a Source

orderPGL :: (Integral b, Integral a) => b -> a -> a Source