cifl-math-library-1.1.1.0: Math libraries
Safe HaskellSafe-Inferred
LanguageHaskell2010

Math.Graph.Digraph

Description

This module supports digraphs and reversible graphs with clearly separated vertex and edge sets. This is often needed in practical applications of graphs.

Documentation

type Digraph v e = Graph Three (GraphElem v e) Source #

type GenericGraph mon v e = Graph mon (GraphElem v e) Source #

verticesFromSetGE :: (Ord e, Ord v) => Set v -> GenericGraph m v e Source #

verticesGE :: (Ord v, Ord e) => [v] -> GenericGraph m v e Source #

edgeGE :: (Ord v, Ord e) => e -> v -> v -> Digraph v e Source #

completeGE :: (Ord v, Ord e) => [v] -> (v -> v -> e) -> Digraph v e Source #

edgesFromMapGE :: (Ord e, Ord v) => Map e (v, v) -> Digraph v e Source #

edgesGE :: (Ord v, Ord e) => [(e, (v, v))] -> Digraph v e Source #

loopGE :: (Ord v, Ord e) => [(v, e)] -> Digraph v e Source #

reversibleOneLaneLoopGE :: (Ord v, Ord e) => [(v, e)] -> ReversibleGraph v e Source #

reversibleLoopGE :: (Ord v, Ord e) => [(v, e, e)] -> ReversibleGraph v e Source #

reversibleEdgeGE :: (Ord v, Ord e) => e -> e -> v -> v -> ReversibleGraph v e Source #

reversibleCompleteGE :: (Ord v, Ord e) => [v] -> (v -> v -> (e, e)) -> ReversibleGraph v e Source #

reversibleEdgesGE :: (Ord v, Ord e) => [((e, e), (v, v))] -> ReversibleGraph v e Source #

Orphan instances

(Ord v, Ord e) => DigraphFactory (Graph (Three :: Type -> Type -> Type) (GraphElem v e)) v e Source # 
Instance details

Methods

vertexGraph :: v -> Graph Three (GraphElem v e) Source #

edgeGraph :: e -> v -> v -> Graph Three (GraphElem v e) Source #

verticesFromSetGraph :: Set v -> Graph Three (GraphElem v e) Source #

verticesGraph :: [v] -> Graph Three (GraphElem v e) Source #

completeGraph :: [v] -> (v -> v -> e) -> Graph Three (GraphElem v e) Source #

edgeGraphFromMap :: Map e (v, v) -> Graph Three (GraphElem v e) Source #

edgesGraph :: [(e, (v, v))] -> Graph Three (GraphElem v e) Source #

loopGraph :: [(v, e)] -> Graph Three (GraphElem v e) Source #

(Ord v, Ord e) => ReversibleGraphFactory (Graph (Four :: Type -> Type -> Type) (GraphElem v e)) v e Source # 
Instance details