-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Haskell interface of the igraph library.
--
-- igraph"http://igraph.org/c/" is a library for creating and
-- manipulating large graphs. This package provides the Haskell interface
-- of igraph.
@package haskell-igraph
@version 0.6.0
module IGraph.Internal.Constants
data Neimode
IgraphOut :: Neimode
IgraphIn :: Neimode
IgraphAll :: Neimode
IgraphTotal :: Neimode
data EdgeOrderType
IgraphEdgeorderId :: EdgeOrderType
IgraphEdgeorderFrom :: EdgeOrderType
IgraphEdgeorderTo :: EdgeOrderType
data ToDirected
IgraphToDirectedArbitrary :: ToDirected
IgraphToDirectedMutual :: ToDirected
data SpincommUpdate
IgraphSpincommUpdateSimple :: SpincommUpdate
IgraphSpincommUpdateConfig :: SpincommUpdate
data SpinglassImplementation
IgraphSpincommImpOrig :: SpinglassImplementation
IgraphSpincommImpNeg :: SpinglassImplementation
data AttributeElemtype
IgraphAttributeGraph :: AttributeElemtype
IgraphAttributeVertex :: AttributeElemtype
IgraphAttributeEdge :: AttributeElemtype
data SubgraphImplementation
IgraphSubgraphAuto :: SubgraphImplementation
IgraphSubgraphCopyAndDelete :: SubgraphImplementation
IgraphSubgraphCreateFromScratch :: SubgraphImplementation
data PagerankAlgo
IgraphPagerankAlgoPower :: PagerankAlgo
IgraphPagerankAlgoArpack :: PagerankAlgo
IgraphPagerankAlgoPrpack :: PagerankAlgo
data ErdosRenyi
IgraphErdosRenyiGnp :: ErdosRenyi
IgraphErdosRenyiGnm :: ErdosRenyi
data Rewiring
IgraphRewiringSimple :: Rewiring
IgraphRewiringSimpleLoops :: Rewiring
data StarMode
IgraphStarOut :: StarMode
IgraphStarIn :: StarMode
IgraphStarUndirected :: StarMode
IgraphStarMutual :: StarMode
data Degseq
IgraphDegseqSimple :: Degseq
IgraphDegseqVl :: Degseq
IgraphDegseqSimpleNoMultiple :: Degseq
instance GHC.Classes.Eq IGraph.Internal.Constants.Degseq
instance GHC.Read.Read IGraph.Internal.Constants.Degseq
instance GHC.Show.Show IGraph.Internal.Constants.Degseq
instance GHC.Classes.Eq IGraph.Internal.Constants.StarMode
instance GHC.Read.Read IGraph.Internal.Constants.StarMode
instance GHC.Show.Show IGraph.Internal.Constants.StarMode
instance GHC.Classes.Eq IGraph.Internal.Constants.Rewiring
instance GHC.Read.Read IGraph.Internal.Constants.Rewiring
instance GHC.Show.Show IGraph.Internal.Constants.Rewiring
instance GHC.Classes.Eq IGraph.Internal.Constants.ErdosRenyi
instance GHC.Read.Read IGraph.Internal.Constants.ErdosRenyi
instance GHC.Show.Show IGraph.Internal.Constants.ErdosRenyi
instance GHC.Classes.Eq IGraph.Internal.Constants.PagerankAlgo
instance GHC.Read.Read IGraph.Internal.Constants.PagerankAlgo
instance GHC.Show.Show IGraph.Internal.Constants.PagerankAlgo
instance GHC.Classes.Eq IGraph.Internal.Constants.SubgraphImplementation
instance GHC.Read.Read IGraph.Internal.Constants.SubgraphImplementation
instance GHC.Show.Show IGraph.Internal.Constants.SubgraphImplementation
instance GHC.Classes.Eq IGraph.Internal.Constants.AttributeElemtype
instance GHC.Show.Show IGraph.Internal.Constants.AttributeElemtype
instance GHC.Classes.Eq IGraph.Internal.Constants.SpinglassImplementation
instance GHC.Show.Show IGraph.Internal.Constants.SpinglassImplementation
instance GHC.Classes.Eq IGraph.Internal.Constants.SpincommUpdate
instance GHC.Show.Show IGraph.Internal.Constants.SpincommUpdate
instance GHC.Classes.Eq IGraph.Internal.Constants.ToDirected
instance GHC.Classes.Eq IGraph.Internal.Constants.EdgeOrderType
instance GHC.Show.Show IGraph.Internal.Constants.EdgeOrderType
instance GHC.Classes.Eq IGraph.Internal.Constants.Neimode
instance GHC.Show.Show IGraph.Internal.Constants.Neimode
instance GHC.Enum.Enum IGraph.Internal.Constants.Degseq
instance GHC.Enum.Enum IGraph.Internal.Constants.StarMode
instance GHC.Enum.Enum IGraph.Internal.Constants.Rewiring
instance GHC.Enum.Enum IGraph.Internal.Constants.ErdosRenyi
instance GHC.Enum.Enum IGraph.Internal.Constants.PagerankAlgo
instance GHC.Enum.Enum IGraph.Internal.Constants.SubgraphImplementation
instance GHC.Enum.Enum IGraph.Internal.Constants.AttributeElemtype
instance GHC.Enum.Enum IGraph.Internal.Constants.SpinglassImplementation
instance GHC.Enum.Enum IGraph.Internal.Constants.SpincommUpdate
instance GHC.Enum.Enum IGraph.Internal.Constants.ToDirected
instance GHC.Enum.Enum IGraph.Internal.Constants.EdgeOrderType
instance GHC.Enum.Enum IGraph.Internal.Constants.Neimode
module IGraph.Internal.Initialization
data HasInit
igraphInit :: IO HasInit
haskelligraphInit :: IO ()
haskelligraphInit'_ :: (IO ())
module IGraph.Internal
data Vector
-- | Allocate and initialize a vector.
allocaVector :: (Ptr Vector -> IO a) -> IO a
allocaVectorN :: Int -> (Ptr Vector -> IO a) -> IO a
withList :: Real a => [a] -> (Ptr Vector -> IO b) -> IO b
-- | Allocate a nullPtr if Nothing
withListMaybe :: Real a => Maybe [a] -> (Ptr Vector -> IO b) -> IO b
toList :: Ptr Vector -> IO [Double]
igraphVectorNull :: (Ptr Vector) -> IO ()
igraphVectorFill :: (Ptr Vector) -> (Double) -> IO ()
igraphVectorE :: (Ptr Vector) -> (Int) -> IO ((Double))
igraphVectorSet :: (Ptr Vector) -> (Int) -> (Double) -> IO ()
igraphVectorTail :: (Ptr Vector) -> IO ((Double))
igraphVectorSize :: (Ptr Vector) -> IO ((Int))
igraphVectorCopyTo :: (Ptr Vector) -> (Ptr CDouble) -> IO ()
data VectorPtr
-- | Allocate and initialize a pointer vector.
allocaVectorPtr :: (Ptr VectorPtr -> IO a) -> IO a
allocaVectorPtrN :: Int -> (Ptr VectorPtr -> IO a) -> IO a
withPtrs :: [Ptr a] -> (Ptr VectorPtr -> IO b) -> IO b
toLists :: Ptr VectorPtr -> IO [[Double]]
data BSLen
withByteString :: ByteString -> (Ptr BSLen -> IO a) -> IO a
toByteString :: Ptr BSLen -> IO ByteString
data BSVector
allocaBSVectorN :: Int -> (Ptr BSVector -> IO a) -> IO a
withByteStrings :: [ByteString] -> (Ptr BSVector -> IO a) -> IO a
bsvectorSet :: Ptr BSVector -> Int -> ByteString -> IO ()
data Matrix
allocaMatrix :: (Ptr Matrix -> IO a) -> IO a
allocaMatrixN :: Int -> Int -> (Ptr Matrix -> IO a) -> IO a
withRowLists :: Real a => [[a]] -> (Ptr Matrix -> IO b) -> IO b
toRowLists :: Ptr Matrix -> IO [[Double]]
toColumnLists :: Ptr Matrix -> IO [[Double]]
igraphMatrixNull :: (Ptr Matrix) -> IO ()
igraphMatrixFill :: (Ptr Matrix) -> (Double) -> IO ()
igraphMatrixE :: (Ptr Matrix) -> (Int) -> (Int) -> IO ((Double))
igraphMatrixSet :: (Ptr Matrix) -> (Int) -> (Int) -> (Double) -> IO ()
igraphMatrixCopyTo :: (Ptr Matrix) -> (Ptr CDouble) -> IO ()
igraphMatrixNrow :: (Ptr Matrix) -> IO ((Int))
igraphMatrixNcol :: (Ptr Matrix) -> IO ((Int))
data IGraph
withIGraph :: IGraph -> (Ptr IGraph -> IO b) -> IO b
allocaIGraph :: (Ptr IGraph -> IO a) -> IO a
addIGraphFinalizer :: Ptr IGraph -> IO IGraph
-- | Create a igraph object and attach a finalizer
igraphNew :: Int -> Bool -> HasInit -> IO IGraph
igraphCreate :: (Ptr Vector) -> (Int) -> (Bool) -> IO ((IGraph))
data VertexSelector
withVerticesAll :: (Ptr VertexSelector -> IO a) -> IO a
withVerticesAdj :: Int -> Neimode -> (Ptr VertexSelector -> IO a) -> IO a
withVerticesVector :: Ptr Vector -> (Ptr VertexSelector -> IO a) -> IO a
withVerticesList :: Real a => [a] -> (Ptr VertexSelector -> IO b) -> IO b
data VertexIterator
iterateVertices :: IGraph -> Ptr VertexSelector -> (Ptr VertexIterator -> IO a) -> IO a
iterateVerticesC :: IGraph -> Ptr VertexSelector -> (ConduitT i Int IO () -> IO a) -> IO a
data EdgeSelector
withEdgesAll :: EdgeOrderType -> (Ptr EdgeSelector -> IO a) -> IO a
withEdgeIdsVector :: Ptr Vector -> (Ptr EdgeSelector -> IO a) -> IO a
withEdgeIdsList :: [Int] -> (Ptr EdgeSelector -> IO b) -> IO b
data EdgeIterator
iterateEdges :: IGraph -> Ptr EdgeSelector -> (Ptr EdgeIterator -> IO a) -> IO a
iterateEdgesC :: IGraph -> Ptr EdgeSelector -> (ConduitT i Int IO () -> IO a) -> IO a
igraphCopy :: (IGraph) -> IO ((IGraph))
igraphVcount :: (IGraph) -> IO ((Int))
igraphEcount :: (IGraph) -> IO ((Int))
igraphGetEid :: (IGraph) -> (Int) -> (Int) -> (Bool) -> (Bool) -> IO ((Int))
igraphEdge :: (IGraph) -> (Int) -> IO ((Int), (Int))
igraphAddVertices :: (IGraph) -> (Int) -> (Ptr ()) -> IO ()
igraphAddEdge :: (IGraph) -> (Int) -> (Int) -> IO ()
-- | The edges are given in a vector, the first two elements define the
-- first edge (the order is from , to for directed graphs). The vector
-- should contain even number of integer numbers between zero and the
-- number of vertices in the graph minus one (inclusive). If you also
-- want to add new vertices, call igraph_add_vertices() first.
igraphAddEdges :: (IGraph) -> (Ptr Vector) -> (Ptr ()) -> IO ()
-- | delete vertices
igraphDeleteVertices :: (IGraph) -> (Ptr VertexSelector) -> IO ()
-- | delete edges
igraphDeleteEdges :: (IGraph) -> (Ptr EdgeSelector) -> IO ()
data AttributeRecord
withAttr :: Serialize a => String -> [a] -> (Ptr AttributeRecord -> IO b) -> IO b
withBSAttr :: String -> Ptr BSVector -> (Ptr AttributeRecord -> IO b) -> IO b
-- | Checks whether a (graph, vertex or edge) attribute exists
igraphHaskellAttributeHasAttr :: (IGraph) -> (AttributeElemtype) -> (String) -> IO ((Bool))
-- | Query a string vertex attribute
igraphHaskellAttributeVAS :: (IGraph) -> (String) -> (Int) -> IO ((Ptr BSLen))
-- | Query a string edge attribute.
igraphHaskellAttributeEAS :: (IGraph) -> (String) -> (Int) -> IO ((Ptr BSLen))
igraphHaskellAttributeVASSet :: (IGraph) -> (String) -> (Int) -> (Ptr BSLen) -> IO ()
igraphHaskellAttributeVASSetv :: (IGraph) -> (String) -> (Ptr BSVector) -> IO ()
-- | Set a string edge attribute.
igraphHaskellAttributeEASSet :: (IGraph) -> (String) -> (Int) -> (Ptr BSLen) -> IO ()
-- | Set a string edge attribute for all edges.
igraphHaskellAttributeEASSetv :: (IGraph) -> (String) -> (Ptr BSVector) -> IO ()
data ArpackOpt
allocaArpackOpt :: (Ptr ArpackOpt -> IO a) -> IO a
module IGraph.Types
data EdgeType
D :: EdgeType
U :: EdgeType
type DSym0 = D
type USym0 = U
type ShowsPrec_6989586621679101596Sym3 (t_anSK :: Nat) (t_anSL :: EdgeType) (t_anSM :: Symbol) = ShowsPrec_6989586621679101596 t_anSK t_anSL t_anSM
data ShowsPrec_6989586621679101596Sym2 (l_anSO :: Nat) (l_anSP :: EdgeType) (l_anSN :: TyFun Symbol Symbol)
ShowsPrec_6989586621679101596Sym2KindInference :: ShowsPrec_6989586621679101596Sym2
data ShowsPrec_6989586621679101596Sym1 (l_anSS :: Nat) (l_anSR :: TyFun EdgeType (TyFun Symbol Symbol -> Type))
ShowsPrec_6989586621679101596Sym1KindInference :: ShowsPrec_6989586621679101596Sym1
data ShowsPrec_6989586621679101596Sym0 (l_anSU :: TyFun Nat (TyFun EdgeType (TyFun Symbol Symbol -> Type) -> Type))
ShowsPrec_6989586621679101596Sym0KindInference :: ShowsPrec_6989586621679101596Sym0
type SEdgeType = (Sing :: EdgeType -> Type)
type Node = Int
type LNode a = (Node, a)
type Edge = (Node, Node)
type LEdge a = (Edge, a)
vertexAttr :: String
edgeAttr :: String
instance GHC.Generics.Generic IGraph.Types.EdgeType
instance GHC.Classes.Eq IGraph.Types.EdgeType
instance GHC.Read.Read IGraph.Types.EdgeType
instance GHC.Show.Show IGraph.Types.EdgeType
instance Data.Singletons.Prelude.Eq.PEq IGraph.Types.EdgeType
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings IGraph.Types.ShowsPrec_6989586621679101596Sym0
instance Data.Singletons.Prelude.Show.PShow IGraph.Types.EdgeType
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings IGraph.Types.ShowsPrec_6989586621679101596Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings IGraph.Types.ShowsPrec_6989586621679101596Sym2
instance Data.Singletons.Internal.SingKind IGraph.Types.EdgeType
instance Data.Singletons.Prelude.Show.SShow IGraph.Types.EdgeType
instance Data.Singletons.Prelude.Eq.SEq IGraph.Types.EdgeType
instance Data.Singletons.Decide.SDecide IGraph.Types.EdgeType
instance Data.Singletons.ShowSing.ShowSing IGraph.Types.EdgeType
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.Internal.SingI 'IGraph.Types.D
instance Data.Singletons.Internal.SingI 'IGraph.Types.U
instance Data.Serialize.Serialize IGraph.Types.EdgeType
module IGraph.Mutable
-- | Mutable labeled graph.
newtype MGraph m (d :: EdgeType) v e
MGraph :: IGraph -> MGraph m v e
-- | Create a new graph.
new :: forall m d v e. (SingI d, PrimMonad m) => Int -> m (MGraph (PrimState m) d v e)
-- | Return the number of nodes in a graph.
nNodes :: PrimMonad m => MGraph (PrimState m) d v e -> m Int
-- | Return the number of edges in a graph.
nEdges :: PrimMonad m => MGraph (PrimState m) d v e -> m Int
-- | Add nodes to the graph.
addNodes :: PrimMonad m => Int -> MGraph (PrimState m) d v e -> m ()
-- | Add nodes with labels to the graph.
addLNodes :: (Serialize v, PrimMonad m) => [v] -> MGraph (PrimState m) d v e -> m ()
-- | Delete nodes from the graph.
delNodes :: PrimMonad m => [Int] -> MGraph (PrimState m) d v e -> m ()
-- | Add edges to the graph.
addEdges :: PrimMonad m => [(Int, Int)] -> MGraph (PrimState m) d v e -> m ()
-- | Add edges with labels to the graph.
addLEdges :: (PrimMonad m, Serialize e) => [LEdge e] -> MGraph (PrimState m) d v e -> m ()
-- | Delete edges from the graph.
delEdges :: forall m d v e. (SingI d, PrimMonad m) => [(Int, Int)] -> MGraph (PrimState m) d v e -> m ()
-- | Set edge attribute.
setEdgeAttr :: (PrimMonad m, Serialize e) => Int -> e -> MGraph (PrimState m) d v e -> m ()
-- | Set node attribute.
setNodeAttr :: (PrimMonad m, Serialize v) => Int -> v -> MGraph (PrimState m) d v e -> m ()
initializeNullAttribute :: PrimMonad m => MGraph (PrimState m) d () () -> m ()
module IGraph
-- | Graph with labeled nodes and edges.
data Graph (d :: EdgeType) v e
Graph :: IGraph -> HashMap v [Node] -> Graph v e
[_graph] :: Graph v e -> IGraph
[_labelToNode] :: Graph v e -> HashMap v [Node]
data EdgeType
D :: EdgeType
U :: EdgeType
-- | Is the graph directed or not.
isDirected :: forall d v e. SingI d => Graph d v e -> Bool
-- | Return the number of nodes in a graph.
nNodes :: Graph d v e -> Int
-- | Return the label of given node.
nodeLab :: Serialize v => Graph d v e -> Node -> v
-- | Return all nodes. nodes gr == [0 .. nNodes gr - 1].
nodes :: Graph d v e -> [Node]
labNodes :: Serialize v => Graph d v e -> [LNode v]
-- | Return the number of edges in a graph.
nEdges :: Graph d v e -> Int
-- | Return the label of given edge.
edgeLab :: Serialize e => Graph d v e -> Edge -> e
-- | Return all edges.
edges :: Graph d v e -> [Edge]
labEdges :: Serialize e => Graph d v e -> [LEdge e]
-- | Whether a edge exists in the graph.
hasEdge :: Graph d v e -> Edge -> Bool
-- | Return all nodes that are associated with given label.
getNodes :: (Hashable v, Eq v) => Graph d v e -> v -> [Node]
-- | Find the edge by edge ID.
getEdgeByEid :: Graph d v e -> Int -> Edge
-- | Find the edge label by edge ID.
getEdgeLabByEid :: Serialize e => Graph d v e -> Int -> e
-- | Create a empty graph.
empty :: (SingI d, Hashable v, Serialize v, Eq v, Serialize e) => Graph d v e
-- | Create a graph.
mkGraph :: (SingI d, Hashable v, Serialize v, Eq v, Serialize e) => [v] -> [LEdge e] -> Graph d v e
-- | Create a graph from labeled edges.
fromLabeledEdges :: (SingI d, Hashable v, Serialize v, Eq v, Serialize e) => [((v, v), e)] -> Graph d v e
-- | Create a graph from a stream of labeled edges.
fromLabeledEdges' :: (MonadUnliftIO m, SingI d, Hashable v, Serialize v, Eq v, Serialize e) => a -> (a -> ConduitT () ((v, v), e) m ()) -> m (Graph d v e)
-- | Convert a mutable graph to immutable graph. The original graph may not
-- be used afterwards.
unsafeFreeze :: (Hashable v, Eq v, Serialize v, PrimMonad m) => MGraph (PrimState m) d v e -> m (Graph d v e)
-- | Convert a mutable graph to immutable graph.
freeze :: (Hashable v, Eq v, Serialize v, PrimMonad m) => MGraph (PrimState m) d v e -> m (Graph d v e)
-- | Create a mutable graph. The original graph may not be used afterwards.
unsafeThaw :: PrimMonad m => Graph d v e -> m (MGraph (PrimState m) d v e)
-- | Create a mutable graph.
thaw :: PrimMonad m => Graph d v e -> m (MGraph (PrimState m) d v e)
-- | Find all neighbors of the given node.
neighbors :: Graph d v e -> Node -> [Node]
-- | Find all nodes that link to to the given node.
pre :: Graph 'D v e -> Node -> [Node]
-- | Find all nodes that have a link from the given node.
suc :: Graph 'D v e -> Node -> [Node]
-- | Apply a function to change nodes' labels.
nmap :: (Serialize v1, Serialize v2, Hashable v2, Eq v2) => (LNode v1 -> v2) -> Graph d v1 e -> Graph d v2 e
-- | Apply a function to change edges' labels.
emap :: (Serialize e1, Serialize e2, Hashable v, Eq v, Serialize v) => (LEdge e1 -> e2) -> Graph d v e1 -> Graph d v e2
-- | Keep nodes that satisfy the constraint.
nfilter :: (Hashable v, Eq v, Serialize v) => (LNode v -> Bool) -> Graph d v e -> Graph d v e
-- | Keep edges that satisfy the constraint.
efilter :: (SingI d, Hashable v, Eq v, Serialize v, Serialize e) => (LEdge e -> Bool) -> Graph d v e -> Graph d v e
instance (Data.Singletons.Internal.SingI d, Data.Serialize.Serialize v, Data.Serialize.Serialize e, Data.Hashable.Class.Hashable v, GHC.Classes.Eq v) => Data.Serialize.Serialize (IGraph.Graph d v e)
module IGraph.Structure
inducedSubgraph :: (Hashable v, Eq v, Serialize v) => Graph d v e -> [Int] -> Graph d v e
-- | Closeness centrality
closeness :: [Int] -> Graph d v e -> Maybe [Double] -> Neimode -> Bool -> [Double]
-- | Betweenness centrality
betweenness :: [Int] -> Graph d v e -> Maybe [Double] -> [Double]
-- | Eigenvector centrality
eigenvectorCentrality :: Graph d v e -> Maybe [Double] -> [Double]
-- | Google's PageRank algorithm, with option to
pagerank :: SingI d => Graph d v e -> Maybe [Double] -> Maybe [Double] -> Double -> [Double]
module IGraph.Read
readAdjMatrix :: SingI d => FilePath -> IO (Graph d ByteString ())
fromAdjMatrix :: SingI d => ByteString -> Graph d ByteString ()
readAdjMatrixWeighted :: SingI d => FilePath -> IO (Graph d ByteString Double)
module IGraph.Motif
-- | Every triple of vertices in a directed graph 003: A, B, C, the empty
-- graph. 012: A->B, C, a graph with a single directed edge. 102:
-- A-B, C, a graph with a mutual connection between two vertices.
-- 021D: A-B-C, the binary out-tree. 021U: A->B<-C, the
-- binary in-tree. 021C: A->B->C, the directed line. 111D:
-- A-B<-C. 111U: A-B->C. 030T: A->BA-C.
-- Feed forward loop. 030C: AA-C. 201: A-B-C. 120D:
-- A-B-C, A-C. 120U: A->BA<-C. 120C:
-- A->B->C, A-C. 210: A->B-C, A-C. 300:
-- A-B-C, A-C, the complete graph.
triad :: [Graph 'D () ()]
triadCensus :: (Hashable v, Eq v, Read v) => Graph d v e -> [Int]
module IGraph.Layout
getLayout :: Graph d v e -> LayoutMethod -> IO [(Double, Double)]
data LayoutMethod
KamadaKawai :: !(Maybe [(Double, Double)]) -> !Int -> (Int -> Double) -> !Double -> !Double -> (Int -> Double) -> LayoutMethod
[kk_seed] :: LayoutMethod -> !(Maybe [(Double, Double)])
[kk_nIter] :: LayoutMethod -> !Int
-- | The base standard deviation of position change proposals
[kk_sigma] :: LayoutMethod -> (Int -> Double)
-- | The initial temperature for the annealing
[kk_startTemp] :: LayoutMethod -> !Double
-- | The cooling factor for the simulated annealing
[kk_coolFact] :: LayoutMethod -> !Double
-- | The Kamada-Kawai vertex attraction constant
[kk_const] :: LayoutMethod -> (Int -> Double)
LGL :: !Int -> (Int -> Double) -> (Int -> Double) -> !Double -> (Int -> Double) -> (Int -> Double) -> LayoutMethod
[lgl_nIter] :: LayoutMethod -> !Int
-- | The maximum length of the move allowed for a vertex in a single
-- iteration. A reasonable default is the number of vertices.
[lgl_maxdelta] :: LayoutMethod -> (Int -> Double)
-- | This parameter gives the area of the square on which the vertices will
-- be placed. A reasonable default value is the number of vertices
-- squared.
[lgl_area] :: LayoutMethod -> (Int -> Double)
-- | The cooling exponent. A reasonable default value is 1.5.
[lgl_coolexp] :: LayoutMethod -> !Double
-- | Determines the radius at which vertex-vertex repulsion cancels out
-- attraction of adjacent vertices. A reasonable default value is area
-- times the number of vertices.
[lgl_repulserad] :: LayoutMethod -> (Int -> Double)
[lgl_cellsize] :: LayoutMethod -> (Int -> Double)
defaultKamadaKawai :: LayoutMethod
defaultLGL :: LayoutMethod
module IGraph.Isomorphism
getSubisomorphisms :: Graph d v1 e1 -> Graph d v2 e2 -> [[Int]]
-- | Determine whether two graphs are isomorphic.
isomorphic :: Graph d v1 e1 -> Graph d v2 e2 -> Bool
-- | Creates a graph from the given isomorphism class. This function is
-- implemented only for graphs with three or four vertices.
isoclassCreate :: forall d. SingI d => Int -> Int -> Graph d () ()
isoclass3 :: forall d. SingI d => [Graph d () ()]
isoclass4 :: forall d. SingI d => [Graph d () ()]
module IGraph.Generators
full :: forall d. SingI d => Int -> Bool -> Graph d () ()
-- | Return the Star graph. The center node is always associated with id 0.
star :: Int -> Graph 'U () ()
data ErdosRenyiModel
GNP :: Int -> Double -> ErdosRenyiModel
GNM :: Int -> Int -> ErdosRenyiModel
erdosRenyiGame :: forall d. SingI d => ErdosRenyiModel -> Bool -> IO (Graph d () ())
-- | Generates a random graph with a given degree sequence.
degreeSequenceGame :: [Int] -> [Int] -> IO (Graph 'D () ())
-- | Randomly rewires a graph while preserving the degree distribution.
rewire :: (Hashable v, Serialize v, Eq v, Serialize e) => Int -> Graph d v e -> IO (Graph d v e)
module IGraph.Exporter.GEXF
data NodeAttr
NodeAttr :: Double -> AlphaColour Double -> String -> Double -> Double -> Int -> NodeAttr
[_size] :: NodeAttr -> Double
[_nodeColour] :: NodeAttr -> AlphaColour Double
[_nodeLabel] :: NodeAttr -> String
[_positionX] :: NodeAttr -> Double
[_positionY] :: NodeAttr -> Double
[_nodeZindex] :: NodeAttr -> Int
defaultNodeAttributes :: NodeAttr
data EdgeAttr
EdgeAttr :: String -> AlphaColour Double -> Double -> Double -> Int -> EdgeAttr
[_edgeLabel] :: EdgeAttr -> String
[_edgeColour] :: EdgeAttr -> AlphaColour Double
[_edgeWeight] :: EdgeAttr -> Double
[_edgeArrowLength] :: EdgeAttr -> Double
[_edgeZindex] :: EdgeAttr -> Int
defaultEdgeAttributes :: EdgeAttr
genXMLTree :: (SingI d, ArrowXml a) => Graph d NodeAttr EdgeAttr -> a XmlTree XmlTree
writeGEXF :: SingI d => FilePath -> Graph d NodeAttr EdgeAttr -> IO ()
instance GHC.Generics.Generic IGraph.Exporter.GEXF.EdgeAttr
instance GHC.Classes.Eq IGraph.Exporter.GEXF.EdgeAttr
instance GHC.Read.Read IGraph.Exporter.GEXF.EdgeAttr
instance GHC.Show.Show IGraph.Exporter.GEXF.EdgeAttr
instance GHC.Generics.Generic IGraph.Exporter.GEXF.NodeAttr
instance GHC.Classes.Eq IGraph.Exporter.GEXF.NodeAttr
instance GHC.Read.Read IGraph.Exporter.GEXF.NodeAttr
instance GHC.Show.Show IGraph.Exporter.GEXF.NodeAttr
instance Data.Serialize.Serialize IGraph.Exporter.GEXF.EdgeAttr
instance Data.Hashable.Class.Hashable IGraph.Exporter.GEXF.EdgeAttr
instance Data.Serialize.Serialize IGraph.Exporter.GEXF.NodeAttr
instance Data.Hashable.Class.Hashable IGraph.Exporter.GEXF.NodeAttr
instance Data.Serialize.Serialize (Data.Colour.Internal.AlphaColour GHC.Types.Double)
module IGraph.Community
modularity :: Graph d v e -> [[Int]] -> Maybe [Double] -> Double
findCommunity :: Graph 'U v e -> Maybe [Double] -> CommunityMethod -> [[Int]]
data CommunityMethod
LeadingEigenvector :: Int -> CommunityMethod
-- | number of iterations, default is 10000
[_nIter] :: CommunityMethod -> Int
Spinglass :: Int -> Double -> Double -> Double -> Double -> CommunityMethod
-- | number of spins, default is 25
[_nSpins] :: CommunityMethod -> Int
-- | the temperature at the start
[_startTemp] :: CommunityMethod -> Double
-- | the algorithm stops at this temperature
[_stopTemp] :: CommunityMethod -> Double
-- | the cooling factor for the simulated annealing
[_coolFact] :: CommunityMethod -> Double
-- | the gamma parameter of the algorithm.
[_gamma] :: CommunityMethod -> Double
defaultLeadingEigenvector :: CommunityMethod
defaultSpinglass :: CommunityMethod
module IGraph.Clique
cliques :: Graph d v e -> (Int, Int) -> [[Int]]
largestCliques :: Graph d v e -> [[Int]]
maximalCliques :: Graph d v e -> (Int, Int) -> [[Int]]
cliqueNumber :: Graph d v e -> Int