R       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe59;T/Each vertex maps to a ' value so it can poit to other vertices4Labeled Edge attributes | Useful for graph plottingJWeighted Edge attributes | Useful for computing some algorithms on graphs2Convert an edge to a pair discargind its attribute-Tell if an edge is a loop | An edge forms a loop- if both of its ends point to the same vertex$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 :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 edges Retrieve the vertices of a graphRetrieve the edges of a graph$Tell if a vertex exists in the graph!Tell if two vertices are adjacent*Retrieve the adjacent vertices of a vertex^Retrieve the vertices that are directly reachable from a particular | vertex. | A vertex is directly reachable/ to other if there is an edge that | connects from one vertex to< the other | Every vertex is directly reachable from itself*Total number of incident edges of a vertex(Degrees of a all the vertices in a graphMaximum degree of a graphMinimum degree of a graphAverage degree of a graphnDensity of a graph | The ratio of the number of existing edges in the graph to the number of | posible edgesbInsert a vertex into a graph | If the graph already contains the vertex leave the graph untoucheduInsert 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 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"]Remove a vertex from a graph if present | Every edge incident to this vertex is also removed#Same as " but for multiple vertices$RRemove an edge from a graph if present | The involved vertices are left untouched%Same as $ but for multple edges&QRemove the edge from a graph if present | The involved vertices are also removed'(Tell if a graph is simple | A graph is simple if it has no loops(CGenerate a graph of Int vertices from an adjacency | square matrix)1Get the adjacency matrix representation of a grah*Construct an undirected   between two vertices+Construct a directed  between two vertices,Edges generator-pInsert a link directed to *v* with attribute *a* | If the connnection already exists, the attribute is replaced. Get the links for a given vertex/Get 6s from an association list of vertices and their links0Get  6s from an association list of vertices and their links1Get  6s from an association list of vertices and their links2O(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.3To Qs are equal if they point to the same vertices, and the directions | is the same4To  Ns are equal if they point to the same vertices, regardless of the | directionA  !"#$%&'()*+,-./0123456789:;<=>?@3  ' !"#$%&()*+,-./012A  !"#$%&'()  *+@?>=<;:9876543,-./012    !"#$%&'()*+,-./0123456789:;<=>?@Safe$5T I Undirected Graph of Vertices in v and Edges with attributes in eMO(log n) Insert an undirected   into a Iz | The involved vertices are inserted if don't exist. If the graph already | contains the Edge, its attribute is updatedN O(m*log n) Insert many directed   s into a I | Same rules as M are appliedOO(log n) Remove the undirected   from a I7 if present | The involved vertices are left untouchedPSame as O" but the edge is an unordered pairQO(log n) Remove the undirected   from a I5 if present | The involved vertices are also removedRO(n*m) Retrieve the  s of a ISO(log n) Tell if an undirected   exists in the graphTSame as S" but the edge is an unordered pairURetrieve the incident   s of a VertexV Convert a I to a list of   s | Same as RW Construct a I from a list of  sIJKLMNOPQRSTUVWXYZ[\IJKLMNOPQRSTUVWIJKL\[ZYXMNOPQRSTUVWIJKLMNOPQRSTUVWXYZ[\Safe_ The Degree Sequence of a simple I7 is a list of degrees of vertices | in a graph | Use b% to construct a valid Degree Sequenceb Construct a _? from a list of degrees | Negative degree values are discardedcGet the _ of a simple I | If the graph is not simple (see ') the result is Nothingd Tell if a _3 is a Graphical Sequence | A Degree Sequence is a Graphical Sequence if a corresponding I4 for | it exists. | Use the Havel-Hakimi algorithme Tell if a _ is a Directed Graphic | A Directed Graphic! is a Degree Sequence for wich a DGraphG exists TODO: Kleitman Wang | Fulkerson Chen Anstee theorem algorithmsf Tell if a _[ holds the Handshaking lemma, that is, if the | number of vertices with odd degree is evengGet the corresponding I of a _ | If the _ is not graphical (see d) the | result is Nothing _`abcdefg _`abcdefg _`abcdefg_`abcdefg SafeNoneTkRead a UGraphN from a CSV file | The line "1,2,3,4" translates to the list of edges | "(1  - 2), (1  - 3), (1  - 4)"lSame as k) but rise an exception when parsing failsklklklklSafemThe Degree Sequence of a DGraph) is a list of pairs (Indegree, Outdegree)mnomnomnomnoSafe5TsDirected Graph of Vertices in v and Arcs with attributes in evO(log n) Insert a directed  into a sy | The involved vertices are inserted if don't exist. If the graph already | contains the Arc, its attribute is updatedw O(m*log n) Insert many directed  s into a s | Same rules as v are appliedxO(log n) Remove the directed  from a s7 if present | The involved vertices are left untouchedySame as x but the arc is an ordered pairzO(log n) Remove the directed  from a s5 if present | The involved vertices are also removed{O(n*m) Retrieve the s of a s|Same as {F but the arcs are ordered pairs, and their attributes are | discarded}O(log n) Tell if a directed  exists in the graph~Same as } but the arc is an ordered pairRetrieve 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 s is symmetric | All of its s are bidirected Tell if a s* 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 s#Outdegree of all the vertices in a s Tell if a s$ is balanced | A Directed Graph is balanced when its indegree = outdegree Tell if a s# 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 s | The  transposeT of a directed graph is another directed graph where all of | its arcs are reversedConvert a directed s to an undirected UGraph by converting all of | its s into  s Convert a s to a list of  s | Same as { Construct a s from a list of s#stuvwxyz{|}~stuvwxyz{|}~#stuvwxyz{|}~!stuvwxyz{|}~SafeT5Generate a random ErdQs Rnyi G(n, p) model graph of n vertices with a | p connection probability convinience I generation function convinience s generation function>Generate a random square binary matrix | Useful for use with (SafecTell if two graphs are isomorphic TODO: check first: same number of vertices, same number of edges Tell if a I& is regular | An undirected graph is regular# if each vertex has the same degree Tell if a s# is regular | A directed graph is regular8 if each vertex has the same indigree and | | outdegree NonePlot an undirected IPlot an undirected I to a PNG image filePlot a directed sPlot a directed s to a PNG image file  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 I& 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 I( is orietable | An undirected graph is  orietable9 if it can be converted into a directed | graph that is strongly connected (See ) Tell if a s, is weakly connected | A Directed Graph is weakly connected* if the underlying undirected graph | is  connected Tell if a s. is strongly connected | A Directed Graph is strongly connected< if it contains a directed path | on every pair of vertices   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSSTUVWXYZ[\]^_`abcdefghhijklmnopqrsthhipqruuvwxyz{|}~_` 'graphite-0.5.0.1-3z4w8AwExNeDyjBTG0N6rMData.Graph.TypesData.Graph.UGraph Data.Graph.UGraph.DegreeSequenceData.Graph.Read Data.Graph.DGraph.DegreeSequenceData.Graph.DGraphData.Graph.GenerationData.Graph.MorphismsData.Graph.VisualizeData.Graph.ConnectivityScratchLinksLabeledlabelWeightedweightIsEdgetoPairisLoopArcEdgeGraphemptyordersizevertices edgePairscontainsVertex areAdjacentadjacentVerticesdirectlyReachableVertices vertexDegreedegrees maxDegree minDegree avgDegreedensity insertVertexinsertVerticescontainsEdgePairincidentEdgePairsinsertEdgePairinsertEdgePairs removeVertexremoveVerticesremoveEdgePairremoveEdgePairsremoveEdgePairAndVerticesisSimplefromAdjacencyMatrixtoAdjacencyMatrix<->--> arbitraryEdge insertLinkgetLinks linksToArcs linksToEdges linksToEdges' hashMapInsert$fEqArc$fEqEdge$fArbitraryArc$fArbitraryEdge $fLabeled(,) $fWeighted(,) $fLabeled[]$fWeightedDouble$fWeightedFloat $fWeightedInt $fIsEdgeArc $fIsEdgeEdge $fNFDataArc $fNFDataEdge $fShowEdge $fReadEdge $fOrdEdge $fGenericEdge $fShowArc $fReadArc$fOrdArc $fGenericArcUGraph_sizeunUGraph insertEdge insertEdges removeEdge removeEdge'removeEdgeAndVerticesedges containsEdge containsEdge' incidentEdgestoListfromList $fGraphUGraph$fArbitraryUGraph$fNFDataUGraph $fReadUGraph $fShowUGraph $fEqUGraph$fGenericUGraphDegreeSequenceunDegreeSequencedegreeSequencegetDegreeSequenceisGraphicalSequenceisDirectedGraphicholdsHandshakingLemmafromGraphicalSequence$fEqDegreeSequence$fOrdDegreeSequence$fShowDegreeSequencefromCsvfromCsv'DGraphunDGraph insertArc insertArcs removeArc removeArc'removeArcAndVerticesarcsarcs' containsArc containsArc'inboundingArcsoutboundingArcs incidentArcs isSymmetric isOrientedvertexIndegreevertexOutdegree indegrees outdegrees isBalanced isRegularisSourceisSink isInternal transpose toUndirected$fArbitraryDGraph $fGraphDGraph$fNFDataDGraph $fReadDGraph $fShowDGraph $fEqDGraph$fGenericDGraph erdosRenyi erdosRenyiU erdosRenyiD randomMat areIsomorphic isomorphism isURegular isDRegular plotUGraph plotUGraphPng plotDGraph plotDGraphPng areConnectedareDisconnected isIsolated isConnected isBridgeless isOrientableisWeaklyConnectedisStronglyConnectedtestGpathpath' setInsertMany pushBackMany labeledNodes labeledEdges labeledArcstoUndirectedDot toDirectedDot