HaskellForMaths-0.4.9: Combinatorics, group theory, commutative algebra, non-commutative algebra
Safe HaskellNone
LanguageHaskell98

Math.Combinatorics.Hypergraph

Description

A module defining a type for hypergraphs.

Synopsis

Documentation

data Hypergraph a Source #

Constructors

H [a] [[a]] 

Instances

Instances details
Eq a => Eq (Hypergraph a) Source # 
Instance details

Defined in Math.Combinatorics.Hypergraph

Methods

(==) :: Hypergraph a -> Hypergraph a -> Bool

(/=) :: Hypergraph a -> Hypergraph a -> Bool

Ord a => Ord (Hypergraph a) Source # 
Instance details

Defined in Math.Combinatorics.Hypergraph

Methods

compare :: Hypergraph a -> Hypergraph a -> Ordering

(<) :: Hypergraph a -> Hypergraph a -> Bool

(<=) :: Hypergraph a -> Hypergraph a -> Bool

(>) :: Hypergraph a -> Hypergraph a -> Bool

(>=) :: Hypergraph a -> Hypergraph a -> Bool

max :: Hypergraph a -> Hypergraph a -> Hypergraph a

min :: Hypergraph a -> Hypergraph a -> Hypergraph a

Show a => Show (Hypergraph a) Source # 
Instance details

Defined in Math.Combinatorics.Hypergraph

Methods

showsPrec :: Int -> Hypergraph a -> ShowS

show :: Hypergraph a -> String

showList :: [Hypergraph a] -> ShowS

hypergraph :: Ord a => [a] -> [[a]] -> Hypergraph a Source #

toHypergraph :: Ord a => [a] -> [[a]] -> Hypergraph a Source #

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 #

fromDesign :: Ord a => Design a -> Hypergraph a Source #

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

incidenceMatrix :: (Eq a1, Num a2) => Hypergraph a1 -> [[a2]] Source #

fromIncidenceMatrix :: (Num a1, Enum a1, Ord a1, Num a2, Eq a2) => [[a2]] -> Hypergraph a1 Source #

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.

grid :: (Ord a, Ord b, Num a, Num b, Enum a, Enum b) => a -> b -> Hypergraph (a, b) Source #

dualGrid :: Integral a => a -> a -> Hypergraph a Source #

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

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

Is this hypergraph a (projective) configuration.

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

The Heawood graph is the incidence graph of the Fano plane

desarguesGraph :: Graph (Either [Integer] [[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