?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe59;T6Each 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 attributeMConvert an edge to a triple, where the 3rd element it's the edge | 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 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 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 edges 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%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 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 matrix01Get the adjacency matrix representation of a grah1Construct an undirected   between two vertices2Construct a directed   between two vertices38Convert a triple to a pair by ignoring the third element4Edges generator5pInsert a link directed to *v* with attribute *a* | If the connnection already exists, the attribute is replaced6 Get the links for a given vertex7Get  6s from an association list of vertices and their links8Get  6s from an association list of vertices and their links9O(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.:To  Qs are equal if they point to the same vertices, and the directions | is the same;To  Ns are equal if they point to the same vertices, regardless of the | directionH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG: . !"#$%&'()*+,-/0123456789H  !"#$%&'()*+,-./0 12GFEDCBA@?>=<;:3456789   # !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGSafe$5T P Undirected Graph of Vertices in v and Edges with attributes in eTInsert an undirected   into a P | The involved vertices are inserted if they don't exist. If the graph | already contains the Edge, its attribute is updatedUSame as T but for a list of  sVRemove the undirected   from a P7 if present | The involved vertices are left untouchedWSame as V but for a list of  sXRemove the undirected   from a P5 if present | The involved vertices are also removedY Retrieve the  s of a PZTell if an undirected   exists in the graph[Retrieve the incident   s of a Vertex\ Convert a P to a list of   s | Same as Y] Construct a P from a list of  sPQRSTUVWXYZ[\]^_`abPQRSTUVWXYZ[\]PQRSba`_^TUVWXYZ[\]PQRSTUVWXYZ[\]^_`abSafee The Degree Sequence of a simple P7 is a list of degrees of vertices | in a graph | Use h% to construct a valid Degree Sequenceh Construct a e? from a list of degrees | Negative degree values are discardediGet the e of a simple P | If the graph is not simple (see .) the result is Nothingj Tell if a e3 is a Graphical Sequence | A Degree Sequence is a Graphical Sequence if a corresponding P4 for | it exists. | Use the Havel-Hakimi algorithmk Tell if a e is a Directed Graphic | A Directed Graphic! is a Degree Sequence for wich a DGraphG exists TODO: Kleitman Wang | Fulkerson Chen Anstee theorem algorithmsl Tell if a e[ holds the Handshaking lemma, that is, if the | number of vertices with odd degree is evenmGet the corresponding P of a e | If the e is not graphical (see j) the | result is Nothing efghijklm efghijklm efghijklmefghijklmNoneTqRead a UGraphN from a CSV file | The line "1,2,3,4" translates to the list of edges | "(1  - 2), (1  - 3), (1  - 4)"rSame as q) but rise an exception when parsing failsqrqrqrqrSafesThe Degree Sequence of a DGraph) is a list of pairs (Indegree, Outdegree)stustustustuSafe5TyDirected Graph of Vertices in v and Arcs with attributes in e}Insert a directed   into a y~ | The involved vertices are inserted if they don't exist. If the graph | already contains the Arc, its attribute is updated~Same as } but for a list of  sRemove the directed   from a y7 if present | The involved vertices are left untouchedSame as  but for a list of  sRemove the directed   from a y5 if present | The involved vertices are also removed Retrieve the  s of a yTell 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 y is symmetric | All of its  s are bidirected Tell if a y* 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 y#Outdegree of all the vertices in a y Tell if a y$ is balanced | A Directed Graph is balanced when its indegree = outdegree Tell if a y# 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 y | The  transposeT of a directed graph is another directed graph where all of | its arcs are reversedConvert a directed y to an undirected UGraph by converting all of | its  s into  s Convert a y to a list of   s | Same as  Construct a y from a list of  s"yz{|}~yz{|}~"yz{|}~yz{|}~SafeT5Generate a random ErdQs Rnyi G(n, p) model graph of n vertices with a | p connection probability convinience P generation function convinience y 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 P& is regular | An undirected graph is regular# if each vertex has the same degree Tell if a y# is regular | A directed graph is regular8 if each vertex has the same indigree and | | outdegree NonePlot an undirected PPlot an undirected P to a PNG image filePlot a directed yPlot a directed y 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 P& 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 P( is orietable | An undirected graph is  orietable9 if it can be converted into a directed | graph that is strongly connected (See ) Tell if a y, is weakly connected | A Directed Graph is weakly connected* if the underlying undirected graph | is  connected Tell if a y. is strongly connected | A Directed Graph is strongly connected< if it contains a directed path | on every pair of vertices    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmmnopqrstuvwxymmnuvwzzZ{|}~de 'graphite-0.8.0.0-FhSa2XSacEZ5HlB2pVjHacData.Graph.TypesData.Graph.UGraph Data.Graph.UGraph.DegreeSequenceData.Graph.Read Data.Graph.DGraph.DegreeSequenceData.Graph.DGraphData.Graph.GenerationData.Graph.MorphismsData.Graph.VisualizeData.Graph.ConnectivityLinksLabeledlabelWeightedweightIsEdgetoPairtoTripleisLoopArcEdgeGraphemptyordersizevertices edgeTriples edgePairscontainsVertex areAdjacentadjacentVerticesadjacentVertices'reachableAdjacentVerticesreachableAdjacentVertices' vertexDegreedegrees maxDegree minDegree avgDegreedensity insertVertexinsertVerticescontainsEdgePairincidentEdgeTriplesincidentEdgePairsinsertEdgeTripleinsertEdgeTriplesinsertEdgePairinsertEdgePairs removeVertexremoveVerticesremoveEdgePairremoveEdgePairsremoveEdgePairAndVerticesisSimplefromAdjacencyMatrixtoAdjacencyMatrix<->--> tripleToPair arbitraryEdge insertLinkgetLinks linksToArcs 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 removeEdgesremoveEdgeAndVerticesedges containsEdge incidentEdgestoListfromList $fGraphUGraph$fArbitraryUGraph$fNFDataUGraph $fReadUGraph $fShowUGraph $fEqUGraph$fGenericUGraphDegreeSequenceunDegreeSequencedegreeSequencegetDegreeSequenceisGraphicalSequenceisDirectedGraphicholdsHandshakingLemmafromGraphicalSequence$fEqDegreeSequence$fOrdDegreeSequence$fShowDegreeSequencefromCsvfromCsv'DGraphunDGraph insertArc insertArcs removeArc removeArcsremoveArcAndVerticesarcs containsArcinboundingArcsoutboundingArcs 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 isOrientableisWeaklyConnectedisStronglyConnected labeledNodes labeledEdges labeledArcstoUndirectedDot toDirectedDot