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

Safe Haskell | None

Math.Combinatorics.Hypergraph

Description

A module defining a type for hypergraphs.

Synopsis

- data Hypergraph a = H [a] [[a]]
- hypergraph :: Ord a => [a] -> [[a]] -> Hypergraph a
- toHypergraph :: Ord a => [a] -> [[a]] -> Hypergraph a
- isUniform :: Ord a => Hypergraph a -> Bool
- same :: Eq a => [a] -> Bool
- fromGraph :: Graph a -> Hypergraph a
- fromDesign :: Ord a => Design a -> Hypergraph a
- incidenceGraph :: Ord a => Hypergraph a -> Graph (Either a [a])
- incidenceMatrix :: (Eq a, Num t) => Hypergraph a -> [[t]]
- fromIncidenceMatrix :: (Enum a, Eq b, Num a, Num b, Ord a) => [[b]] -> Hypergraph a
- isPartialLinearSpace :: Ord a => Hypergraph a -> Bool
- isProjectivePlane :: Ord a => Hypergraph a -> Bool
- isProjectivePlaneTri :: Ord a => Hypergraph a -> Bool
- isProjectivePlaneQuad :: Ord a => Hypergraph a -> Bool
- isGeneralizedQuadrangle :: Ord a => Hypergraph a -> Bool
- grid :: (Enum t1, Enum t, Num t1, Num t, Ord t, Ord t1) => t -> t1 -> Hypergraph (t, t1)
- dualGrid :: Integral a => a -> a -> Hypergraph a
- isGenQuadrangle' :: Ord a => Hypergraph a -> Bool
- isConfiguration :: Ord a => Hypergraph a -> Bool
- fanoPlane :: Hypergraph Integer
- heawoodGraph :: Graph (Either Integer [Integer])
- desarguesConfiguration :: Hypergraph [Integer]
- desarguesGraph :: Graph (Either [Integer] [[Integer]])
- pappusConfiguration :: Hypergraph Integer
- pappusGraph :: Graph (Either Integer [Integer])
- coxeterGraph :: Graph [Integer]
- duads :: [[Integer]]
- synthemes :: [[[Integer]]]
- tutteCoxeterGraph :: Graph (Either [Integer] [[Integer]])
- intersectionGraph :: Ord t => Hypergraph t -> Graph [t]

# Documentation

data Hypergraph a Source

Constructors

H [a] [[a]] |

Instances

Eq a => Eq (Hypergraph a) |
Ord a => Ord (Hypergraph a) |
Show a => Show (Hypergraph a) |

hypergraph :: Ord a => [a] -> [[a]] -> Hypergraph aSource

toHypergraph :: Ord a => [a] -> [[a]] -> Hypergraph aSource

isUniform :: Ord a => Hypergraph a -> Bool Source

Is this hypergraph uniform - meaning that all blocks are of the same size

same :: Eq a => [a] -> Bool Source

fromGraph :: Graph a -> Hypergraph aSource

fromDesign :: Ord a => Design a -> Hypergraph aSource

incidenceGraph :: Ord a => Hypergraph a -> Graph (Either a [a])Source

incidenceMatrix :: (Eq a, Num t) => Hypergraph a -> [[t]]Source

fromIncidenceMatrix :: (Enum a, Eq b, Num a, Num b, Ord a) => [[b]] -> Hypergraph aSource

isPartialLinearSpace :: Ord a => Hypergraph a -> Bool Source

isProjectivePlane :: Ord a => Hypergraph a -> Bool Source

Is this hypergraph a projective plane - meaning that any two lines meet in a unique point, and any two points lie on a unique line

isProjectivePlaneTri :: Ord a => Hypergraph a -> Bool Source

Is this hypergraph a projective plane with a triangle. This is a weak non-degeneracy condition, which eliminates all points on the same line, or all lines through the same point.

isProjectivePlaneQuad :: Ord a => Hypergraph a -> Bool Source

Is this hypergraph a projective plane with a quadrangle. This is a stronger non-degeneracy condition.

isGeneralizedQuadrangle :: Ord a => Hypergraph a -> Bool Source

grid :: (Enum t1, Enum t, Num t1, Num t, Ord t, Ord t1) => t -> t1 -> Hypergraph (t, t1)Source

dualGrid :: Integral a => a -> a -> Hypergraph aSource

isGenQuadrangle' :: Ord a => Hypergraph a -> Bool Source

isConfiguration :: Ord a => Hypergraph a -> Bool Source

Is this hypergraph a (projective) configuration.

fanoPlane :: Hypergraph Integer Source

heawoodGraph :: Graph (Either Integer [Integer])Source

The Heawood graph is the incidence graph of the Fano plane

desarguesConfiguration :: Hypergraph [Integer]Source

desarguesGraph :: Graph (Either [Integer] [[Integer]])Source

pappusConfiguration :: Hypergraph Integer Source

pappusGraph :: Graph (Either Integer [Integer])Source

coxeterGraph :: Graph [Integer]Source

duads :: [[Integer]]Source

synthemes :: [[[Integer]]]Source

tutteCoxeterGraph :: Graph (Either [Integer] [[Integer]])Source

The Tutte-Coxeter graph, also called the Tutte 8-cage

intersectionGraph :: Ord t => Hypergraph t -> Graph [t]Source