!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe59;TALabeled Edge attributesWeighted Edge attributes$Directed Arc with attribute of type e between to Vertices of type v'Undirected Edge with attribute of type e between to Vertices of type v*Types that represent edges | | The main  instances are  for undirected edges and  for directed edges. &Retrieve the origin vertex of the edge +Retrieve the destination vertex of the edge "Retrieve the attribute of the edge 2Convert an edge to a pair discarding its attribute 7Convert a pair to an edge, where it's attribute is unitMConvert an edge to a triple, where the 3rd element it's the edge | attributeConvert a triple to an edge-Tell if an edge is a loop | An edge forms a loop- if both of its ends point to the same vertex-Types that behave like graphs | | The main  instances are UGraph and DGraph. The functions in this class should be used for algorithms that are graph-directionality agnostic, otherwise use the more specific ones in UGraph and DGraph:The Empty (order-zero) graph with no vertices and no edges%Retrieve the order of a graph | The order% of a graph is its number of vertices$Retrieve the size of a graph | The size" of a graph is its number of edgesnDensity of a graph | The ratio of the number of existing edges in the graph to the number of | posible edges$Retrieve all the vertices of a graphRetrieve the edges of a graph6Retrieve the edges of a graph, ignoring its attributes$Tell if a vertex exists in the graph!Tell if two vertices are adjacent*Retrieve the adjacent vertices of a vertexSame as $ but gives back the connecting edgesSame as  but gives back only those vertices for which | the connecting edge allows the vertex to be reached. | | For an undirected graph this is equivalent to y, but | for the case of a directed graph, the directed arcs will constrain the | reachability of the adjacent vertices.Same as $ but gives back the connecting edges*Total number of incident edges of a vertex (Degrees of a all the vertices in a graph!Maximum degree of a graph"Minimum degree of a graph#Average degree of a graph$bInsert a vertex into a graph | If the graph already contains the vertex leave the graph untouched%uInsert a many vertices into a graph | New vertices are inserted and already contained vertices are left | untouched&#Tell if an edge exists in the graph''Retrieve the incident edges of a vertex(@Retrieve the incident edges of a vertex, ignoring its attributes)-Get the edge between to vertices if it exists*Insert an edge into a graph | The involved vertices are inserted if don't exist. If the graph already | contains the edge, its attribute is updated+Same as * but for multiple edges,Same as *< but insert edge pairs in graphs with | attributeless edges-Same as , for multiple edges.]Remove a vertex from a graph if present | Every edge incident to this vertex is also removed/Same as . but for multiple vertices0RRemove an edge from a graph if present | The involved vertices are left untouched1Same as 0 but for multple edges2QRemove the edge from a graph if present | The involved vertices are also removed31Retrieve the isolated vertices of a graph, if any4(Tell if a graph is simple | A graph is simple if it has no loops5Union of two graphs6Intersection of two graphs7=Convert a graph to an adjacency list with edge attributes in e8AConstruct a graph from an adjacency list with edge attributes in e98Get the adjacency binary matrix representation of a grah:JGenerate a graph of Int vertices from an adjacency | square binary matrix;&Construct an attributeless undirected  between two vertices<$Construct an attributeless directed  between two vertices=Edges generator>8Convert a triple to a pair by ignoring the third element?8Convert a pair to a triple where the 3rd element is unit@)Get the origin vertex from an edge tripleA.Get the destination vertex from an edge tripleB%Get the attribute from an edge tripleCTwo Rs are equal if they point to the same vertices, and the directions | are the sameDTwo Ns are equal if they point to the same vertices, regardless of the | directionS  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRC 87564 !"#$%&'()*+,-./01239:;<=>?@ABS !"#$%&'()*+,-./0123456789: ;<RQPONMLKJIHGFE=DC>?@AB ) !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSafe[<breadh-first-search vertices starting at a particular vertex\;depth-first-search vertices starting at a particular vertex[\[\[\[\NoneT]Read a UGraphN from a CSV file | The line "1,2,3,4" translates to the list of edges | "(1  - 2), (1  - 3), (1  - 4)"^Same as ]) but rise an exception when parsing fails]^]^]^]^ SafeEach vertex maps to a ' value so it can poit to other verticespInsert a link directed to *v* with attribute *a* | If the connnection already exists, the attribute is replaced Get the links for a given vertexGet 6s from an association list of vertices and their linksGet 6s from an association list of vertices and their linksO(log n) Associate the specified value with the specified key in this map. | If this map previously contained a mapping for the key, leave the map | intact.Safe$59T _ Undirected Graph of Vertices in v and Edges with attributes in ecInsert an undirected  into a _ | The involved vertices are inserted if they don't exist. If the graph | already contains the Edge, its attribute is updateddSame as c but for a list of seRemove the undirected  from a _7 if present | The involved vertices are left untouchedfSame as e but for a list of sgRemove the undirected  from a _5 if present | The involved vertices are also removedh Retrieve the s of a _iTell if an undirected  exists in the graphjRetrieve the incident  s of a Vertexk Convert a _ to a list of Os ignoring isolated vertices | | Note that: fromEdgesList . toEdgesList /= idl Construct a _ from a list of s_`abcdefghijklmnopqrstuv_`abcdefghijklm_`abvutsrqponcdefghijklm_`abcdefghijklmnopqrstuvSafey The Degree Sequence of a simple _7 is a list of degrees of vertices | in a graph | Use |% to construct a valid Degree Sequence| Construct a y? from a list of degrees | Negative degree values are discarded}Get the y of a simple _ | If the graph is not simple (see 4) the result is Nothing~ Tell if a y3 is a Graphical Sequence | A Degree Sequence is a Graphical Sequence if a corresponding _4 for | it exists. | Use the Havel-Hakimi algorithm Tell if a y is a Directed Graphic | A Directed Graphic! is a Degree Sequence for wich a DGraphG exists TODO: Kleitman Wang | Fulkerson Chen Anstee theorem algorithms Tell if a y[ holds the Handshaking lemma, that is, if the | number of vertices with odd degree is evenGet the corresponding _ of a y | If the y is not graphical (see ~) the | result is Nothing yz{|}~ yz{|}~ yz{|}~yz{|}~SafeThe Degree Sequence of a DGraph) is a list of pairs (Indegree, Outdegree)Safe5TDirected Graph of Vertices in v and Arcs with attributes in eInsert a directed  into a ~ | The involved vertices are inserted if they don't exist. If the graph | already contains the Arc, its attribute is updatedSame as  but for a list of sRemove the directed  from a 7 if present | The involved vertices are left untouchedSame as  but for a list of sRemove the directed  from a 5 if present | The involved vertices are also removed Retrieve the s of a Tell if a directed  exists in the graphRetrieve the inbounding  s of a VertexRetrieve the outbounding  s of a VertexRetrieve the incident 5s of a Vertex | Both inbounding and outbounding arcs Tell if a  is symmetric | All of its s are bidirected Tell if a * is oriented | There are none bidirected s | Note: This is not the opposite of 1Indegree of a vertex | The number of inbounding  s to a vertex3Outdegree of a vertex | The number of outbounding s from a vertex#Indegrees of all the vertices in a #Outdegree of all the vertices in a  Tell if a $ is balanced | A Directed Graph is balanced when its indegree = outdegree Tell if a # is regular | A Directed Graph is regularT when all of its vertices have the same number | of adjacent vertices AND when the indegree and  outdegree+ of each vertex | are equal to each other..Tell if a vertex is a source | A vertex is a source when its  indegree = 0,Tell if a vertex is a sink | A vertex is a sink when its  outdegree = 0.Tell if a vertex is internal | A vertex is a internal when its neither a source nor a sinkGet the transpose of a  | The  transposeT of a directed graph is another directed graph where all of | its arcs are reversedConvert a directed  to an undirected UGraph by converting all of | its s into s Convert a  to a list of  s | Same as  Construct a  from a list of s''$SafeT1Generate a random ErdQs Rnyi G(n, p) model graph convinience _ generation function convinience  generation function)Generate a random graph with vertices in v: across range of given bounds, random edge attributes in eh within given bounds, and some existing probability for each possible edge as per the ErdQs Rnyi modelSame as  but uses attributeless edges:Generate a random adjacency matrix | Useful for use with ::Insert and edge between vertices if the probability is met2Bound a real value as probability value [0.0, 1.0] SafecTell if two graphs are isomorphic TODO: check first: same number of vertices, same number of edges Tell if a _& is regular | An undirected graph is regular# if each vertex has the same degree Tell if a # is regular | A directed graph is regular8 if each vertex has the same indigree and | | outdegree NonePlot an undirected _Same as  but render edge labelsPlot an undirected _ to a PNG image filePlot a directed Same as  but render edge labelsPlot a directed  to a PNG image file  Label edges Label edgesDirected Label edges SafeTBTell if two vertices of a graph are connected | Two vertices are  connectede if it exists a path between them | The order of the vertices is relevant when the graph is directedTell if two vertices of a _& are disconnected | Two vertices are  disconnected( if it doesn't exist a path between them,Tell if a vertex is isolated | A vertex is isolated@ if it has no incidet edges, that is, it has a degree | of zero7Tell if a graph is connected | An Undirected Graph is  connected7 when there is a path between every pair | of vertices,Tell if a graph is bridgeless | A graph is  bridgelessU if it has no edges that, when removed, split the | graph in two isolated components Tell if a _( is orietable | An undirected graph is  orietable9 if it can be converted into a directed | graph that is strongly connected (See ) Tell if a , is weakly connected | A Directed Graph is weakly connected* if the underlying undirected graph | is  connected Tell if a . is strongly connected | A Directed Graph is strongly connected< if it contains a directed path | on every pair of vertices  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijjklmnopqrstuvwxyz{|}~kw    'graphite-0.9.5.0-4FXkggtKUJOJH8W9sq7LfAData.Graph.TypesData.Graph.TraversalData.Graph.ReadData.Graph.UGraph Data.Graph.UGraph.DegreeSequence Data.Graph.DGraph.DegreeSequenceData.Graph.DGraphData.Graph.GenerationData.Graph.MorphismsData.Graph.VisualizeData.Graph.ConnectivityData.Graph.InternalLabeledlabelWeightedweightArcEdgeIsEdge originVertexdestinationVertex attributetoPairfromPairtoTriple fromTripleisLoopGraphemptyordersizedensityvertices edgeTriples edgePairscontainsVertex areAdjacentadjacentVerticesadjacentVertices'reachableAdjacentVerticesreachableAdjacentVertices' vertexDegreedegrees maxDegree minDegree avgDegree insertVertexinsertVerticescontainsEdgePairincidentEdgeTriplesincidentEdgePairs edgeTripleinsertEdgeTripleinsertEdgeTriplesinsertEdgePairinsertEdgePairs removeVertexremoveVerticesremoveEdgePairremoveEdgePairsremoveEdgePairAndVerticesisolatedVerticesisSimpleunion intersectiontoListfromListtoAdjacencyMatrixfromAdjacencyMatrix<->--> arbitraryEdge tripleToPair pairToTripletripleOriginVertextripleDestVertextripleAttribute$fEqArc$fEqEdge $fFunctorArc $fFunctorEdge$fArbitraryArc$fArbitraryEdge $fLabeled(,) $fWeighted(,) $fLabeled[]$fWeightedDouble$fWeightedFloat $fWeightedInt $fIsEdgeArc $fIsEdgeEdge $fNFDataArc $fNFDataEdge $fShowEdge $fReadEdge $fOrdEdge $fGenericEdge $fShowArc $fReadArc$fOrdArc $fGenericArc bfsVertices dfsVerticesfromCsvfromCsv'UGraph_sizeunUGraph insertEdge insertEdges removeEdge removeEdgesremoveEdgeAndVerticesedges containsEdge incidentEdges toEdgesList fromEdgesList prettyPrint $fGraphUGraph$fArbitraryUGraph$fNFDataUGraph$fFoldableUGraph$fFunctorUGraph$fSemigroupUGraph$fMonoidUGraph $fReadUGraph $fShowUGraph $fEqUGraph$fGenericUGraphDegreeSequenceunDegreeSequencedegreeSequencegetDegreeSequenceisGraphicalSequenceisDirectedGraphicholdsHandshakingLemmafromGraphicalSequence$fEqDegreeSequence$fOrdDegreeSequence$fShowDegreeSequenceDGraphunDGraph insertArc insertArcs removeArc removeArcsremoveArcAndVerticesarcs containsArcinboundingArcsoutboundingArcs incidentArcs isSymmetric isOrientedvertexIndegreevertexOutdegree indegrees outdegrees isBalanced isRegularisSourceisSink isInternal transpose toUndirected toArcsList fromArcsList$fArbitraryDGraph $fGraphDGraph$fNFDataDGraph$fFoldableDGraph$fFunctorDGraph$fSemigroupDGraph$fMonoidDGraph $fReadDGraph $fShowDGraph $fEqDGraph$fGenericDGraph erdosRenyi erdosRenyiU erdosRenyiDrndGraph rndGraph'rndAdjacencyMatrix areIsomorphic isomorphism isURegular isDRegular plotUGraphplotUGraphEdgeLabeled plotUGraphPng plotDGraphplotDGraphEdgeLabeled plotDGraphPng labeledNodes labeledEdges areConnectedareDisconnected isIsolated isConnected isBridgeless isOrientableisWeaklyConnectedisStronglyConnectednonVisitedReachables setInsertManyLinks insertLinkgetLinks linksToArcs linksToEdges hashMapInsertinsertFlippedEdge probability labeledArcstoUndirectedDot toDirectedDotsensibleDotParams