!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe9;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!PRemove the edge from a graph present | The involved vertices are left untouched"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 multiple edges nor 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 links,Get  6s from an association list of vertices and their links-O(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 | direction:  !"#$%&'()*+,-./0123456789.  # !"$%&'()*+,-:  !"#$%  &'9876543210/.()*+,-    !"#$%&'()*+,-./0123456789Safe9;T@ Undirected Graph of Vertices in v and Edges with attributes in eCO(n) Remove a vertex from a @ if present | Every  ( incident to this vertex is also removedDO(log n) Insert an undirected   into a @z | The involved vertices are inserted if don't exist. If the graph already | contains the Edge, its attribute is updatedE O(m*log n) Insert many directed   s into a @ | Same rules as D are appliedFO(log n) Remove the undirected   from a @7 if present | The involved vertices are left untouchedGSame as F" but the edge is an unordered pairHO(log n) Remove the undirected   from a @5 if present | The involved vertices are also removedISame as H" but the edge is an unordered pairJO(n*m) Retrieve the  s of a @KO(log n) Tell if an undirected   exists in the graphLSame as K" but the edge is an unordered pairMRetrieve the incident   s of a VertexN Convert a @ to a list of   s | Same as JO Construct a @ from a list of  s@ABCDEFGHIJKLMNOPQRS@ABCDEFGHIJKLMNO@ABSRQPCDEFGHIJKLMNO@ABCDEFGHIJKLMNOPQRSSafeU The Degree Sequence of a simple @7 is a list of degrees of vertices | in a graph | Use X% to construct a valid Degree SequenceX Construct a U? from a list of degrees | Negative degree values are discardedYGet the U of a simple @ | If the graph is not simple (see #) the result is NothingZ Tell if a U3 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 U[ holds the Handshaking lemma, that is, if the | number of vertices with odd degree is even\Get the corresponding @ of a U | If the U is not graphical (see Z) the | result is NothingUVWXYZ[\UVWXYZ[\UVWXYZ[\UVWXYZ[\NoneT`Read a @N from a CSV file | The line "1,2,3,4" translates to the list of edges | "(1  - 2), (1  - 3), (1  - 4)"````SafeTa!Probability value between 0 and 1c Construct a a valued1Generate a random ErdQs Rnyi G(n, p) model graphe>Generate a random square binary matrix | Useful for use with $abcdeabcdeabcdeabcdeSafeT iThe Degree Sequence of a j) is a list of pairs (Indegree, Outdegree)jDirected Graph of Vertices in v and Arcs with attributes in emO(n) Remove a vertex from a j if present | Every ( incident to this vertex is also removednO(log n) Insert a directed  into a jy | The involved vertices are inserted if don't exist. If the graph already | contains the Arc, its attribute is updatedo O(m*log n) Insert many directed  s into a j | Same rules as n are appliedpO(log n) Remove the directed  from a j7 if present | The involved vertices are left untouchedqSame as p but the arc is an ordered pairrO(log n) Remove the directed  from a j5 if present | The involved vertices are also removedsSame as r but the arc is an ordered pairtO(n*m) Retrieve the s of a juSame as tF but the arcs are ordered pairs, and their attributes are | discardedvO(log n) Tell if a directed  exists in the graphwSame as v but the arc is an ordered pairxRetrieve the inbounding  s of a VertexyRetrieve the outbounding  s of a VertexzRetrieve the incident 5s of a Vertex | Both inbounding and outbounding arcs{ Tell if a j is symmetric | All of its s are bidirected| Tell if a j* 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 vertex~3Outdegree of a vertex | The number of outbounding s from a vertex#Indegrees of all the vertices in a j#Outdegree of all the vertices in a j Tell if a j$ is balanced | A Directed Graph is balanced when its indegree = outdegree Tell if a j# 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 toher..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 j | The  transposeT of a directed graph is another directed graph where all of | its arcs are reversedConvert a directed j to an undirected UGraph by converting all of | its s into  s Tell if a i is a Directed Graphic | A Directed Graphic! is a Degree Sequence for wich a jG exists TODO: Kleitman Wang | Fulkerson Chen Anstee theorem algorithms Convert a j to a list of  s | Same as t Construct a j from a list of s&ijklmnopqrstuvwxyz{|}~"ijklmnopqrstuvwxyz{|}~&jklimnopqrstuvwxyz{|}~$ijklmnopqrstuvwxyz{|}~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 j# is regular | A directed graph is regular8 if each vertex has the same indigree and | | outdegreeNonePlot an undirected @ to a PNG image fileSame as # but open the resulting image with xdg-openPlot a directed j to a PNG image fileSame as # but open the resulting image with xdg-open  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 j, is weakly connected | A Directed Graph is weakly connected* if the underlying undirected graph | is  connected Tell if a j. is strongly connected | A Directed Graph is strongly connected< if it contains a directed path | on every pair of vertices     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmn\oopJqrstuvwxyz{|}~UV 'graphite-0.4.1.0-BlTs3RHBQHo5gXKzfH6eZ6Data.Graph.TypesData.Graph.UGraph Data.Graph.UGraph.DegreeSequenceData.Graph.ReadData.Graph.GenerationData.Graph.DGraphData.Graph.MorphismsData.Graph.VisualizeData.Graph.ConnectivityLinksLabeledlabelWeightedweightIsEdgetoPairisLoopArcEdgeGraphemptyordersizevertices edgePairscontainsVertex areAdjacentadjacentVerticesdirectlyReachableVertices vertexDegreedegrees maxDegree minDegree avgDegreedensity insertVertexinsertVerticescontainsEdgePairincidentEdgePairsinsertEdgePairremoveEdgePairremoveEdgePairAndVerticesisSimplefromAdjacencyMatrixtoAdjacencyMatrix<->--> arbitraryEdge insertLinkgetLinks linksToArcs linksToEdges hashMapInsert$fEqArc$fEqEdge$fArbitraryArc$fArbitraryEdge $fLabeled(,) $fWeighted(,) $fLabeled[]$fWeightedDouble$fWeightedFloat $fWeightedInt $fIsEdgeArc $fIsEdgeEdge $fShowEdge $fReadEdge $fOrdEdge $fShowArc $fReadArc$fOrdArcUGraphunUGraph removeVertex insertEdge insertEdges removeEdge removeEdge'removeEdgeAndVerticesremoveEdgeAndVertices'edges containsEdge containsEdge' incidentEdgestoListfromList $fGraphUGraph$fArbitraryUGraph $fReadUGraph $fShowUGraph $fEqUGraphDegreeSequenceunDegreeSequencedegreeSequencegetDegreeSequenceisGraphicalSequenceholdsHandshakingLemmafromGraphicalSequence$fEqDegreeSequence$fOrdDegreeSequence$fShowDegreeSequence csvToUGraph ProbabilityP probability erdosRenyiIO randomMatIO$fEqProbability$fOrdProbability$fShowProbabilityDGraphunDGraph insertArc insertArcs removeArc removeArc'removeArcAndVerticesremoveArcAndVertices'arcsarcs' containsArc containsArc'inboundingArcsoutboundingArcs incidentArcs isSymmetric isOrientedvertexIndegreevertexOutdegree indegrees outdegrees isBalanced isRegularisSourceisSink isInternal transpose toUndirectedisDirectedGraphic$fArbitraryDGraph $fGraphDGraph $fReadDGraph $fShowDGraph $fEqDGraph areIsomorphic isomorphism isURegular isDRegularplotUndirectedIOplotUndirectedXdgIOplotDirectedIOplotDirectedXdgIO areConnectedareDisconnected isIsolated isConnected isBridgeless isOrientableisWeaklyConnectedisStronglyConnected labeledNodes labeledEdges labeledArcstoUndirectedDot toDirectedDot