-- 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