9$I      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-InferredEA constant specifying how edge directions are considered in directed  graphs. Valid modes are:  follows edge directions;  follows  the opposite directions; and ( ignores edge directions. This argument # is ignored for undirected graphs. HFor a directed graph this specifies whether to calculate weak or strong @ connectedness. This argument is ignored for undirected graphs. "   None&Weighted graphs, weight defaults to 0 Directed graph Undirected graph !9Class for graph edges, particularly for undirected edges Edge U a and  directed edges Edge D a and weighted edges. #The internal graph representation. )JThe internal graph representation wrapped into a GADT to carry around the  E d a class constraint. i  !"#$%&'()*X  !"#$%&'()*8   ! "#$%&'( )*NoneCInitialize C vertex attributes (only once! -> C code handles this) 9<Reverse graph direction. This simply changes the associated  igraph_neimode_t of the graph ( IGRAPH_OUT to  IGRAPH_IN,  IGRAPH_IN to   IGRAPH_OUT , other to  IGRAPH_OUT). O(1) t      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG+,-H./012IJ3456789:;KLMNOPn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG+,-H./012IJ3456789:;t      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG+,-H./012IJ3456789:;KLMNOPNoneM<3.4. igraph_vs_size,  Returns the size of the vertex selector. >8.4. igraph_es_size*  Returns the size of the edge selector. @1.1. igraph_are_connected.  Decides whether two vertices are connected A2.1. igraph_shortest_paths,  The length of the shortest paths between  vertices. B2.2. igraph_shortest_paths_dijkstra%  Weighted shortest paths from some  sources. This function is Dijkstra'3s algorithm to find the weighted shortest paths to K all vertices from a single source. (It is run independently for the given ? sources.) It uses a binary heap for efficient implementation. C2.3. "igraph_shortest_paths_bellman_ford%  Weighted shortest paths from some $ sources allowing negative weights. JThis function is the Bellman-Ford algorithm to find the weighted shortest N paths to all vertices from a single source. (It is run independently for the L given sources.). If there are no negative weights, you are better off with $ igraph_shortest_paths_dijkstra() . D2.4. igraph_shortest_paths_johnson&  Calculate shortest paths from some  sources using Johnson' s algorithm. See Wikipedia at http:en.wikipedia.orgwikiJohnson's_algorithm for  Johnson'Fs algorithm. This algorithm works even if the graph contains negative K edge weights, and it is worth using it if we calculate the shortest paths  from many sources. >If no edge weights are supplied, then the unweighted version, $ igraph_shortest_paths() is called. @If all the supplied edge weights are non-negative, then Dijkstra' s algorithm 6 is used by calling igraph_shortest_paths_dijkstra(). E2.5. igraph_get_shortest_paths%  Calculates the shortest paths from/to one  vertex. MIf there is more than one geodesic between two vertices, this function gives  only one of them. F2.6. igraph_get_shortest_path,  Shortest path from one vertex to another  one. MCalculates and returns a single unweighted shortest path from a given vertex K to another one. If there are more than one shortest paths between the two . vertices, then an arbitrary one is returned. KThis function is a wrapper to igraph_get_shortest_paths(), for the special 1 case when only one target vertex is considered. G2.7. "igraph_get_shortest_paths_dijkstra  Calculates the weighted  shortest paths from/to one vertex. NIf there is more than one path with the smallest weight between two vertices, ' this function gives only one of them. H2.8. !igraph_get_shortest_path_dijkstra#  Weighted shortest path from one  vertex to another one. MCalculates a single (positively) weighted shortest path from a single vertex  to another one, using Dijkstra' s algorithm. 3This function is a special case (and a wrapper) to ' igraph_get_shortest_paths_dijkstra(). I2.9. igraph_get_all_shortest_paths(  Finds all shortest paths (geodesics) & from a vertex to all other vertices. J2.10. &igraph_get_all_shortest_paths_dijkstra  Finds all shortest paths 2 (geodesics) from a vertex to all other vertices. K2.11. igraph_average_path_length*  Calculates the average geodesic length  in a graph. L2.12. igraph_path_length_hist4  Create a histogram of all shortest path lengths. NThis function calculates a histogram, by calculating the shortest path length M between each pair of vertices. For directed graphs both directions might be L considered and then every pair of vertices appears twice in the histogram. M2.13. igraph_diameter/  Calculates the diameter of a graph (longest  geodesic). N2.14. igraph_diameter_dijkstra#  Weighted diameter using Dijkstra's ' algorithm, non-negative weights only. NThe diameter of a graph is its longest geodesic. I.e. the (weighted) shortest I path is calculated for all pairs of vertices and the longest one is the  diameter. O2.15.  igraph_girth6  The girth of a graph is the length of the shortest  circle in it. MThe current implementation works for undirected graphs only, directed graphs N are treated as undirected graphs. Loop edges and multiple edges are ignored. ?If the graph is a forest (ie. acyclic), then zero is returned. GThis implementation is based on Alon Itai and Michael Rodeh: Finding a M minimum circuit in a graph Proceedings of the ninth annual ACM symposium on M Theory of computing , 1-10, 1977. The first implementation of this function ) was done by Keith Briggs, thanks Keith. P2.16. igraph_eccentricity!  Eccentricity of some vertices NThe eccentricity of a vertex is calculated by measuring the shortest distance M from (or to) the vertex, to (or from) all vertices in the graph, and taking  the maximum. KThis implementation ignores vertex pairs that are in different components. + Isolated vertices have eccentricity zero. Q2.17.  igraph_radius  Radius of a graph HThe radius of a graph is the defined as the minimum eccentricity of its & vertices, see igraph_eccentricity(). R4.1. igraph_subcomponent9  The vertices in the same component as a given vertex. S4.2. igraph_induced_subgraph9  Creates a subgraph induced by the specified vertices. NThis function collects the specified vertices and all edges between them to a O new graph. As the vertex ids in a graph always start with zero, this function 4 very likely needs to reassign ids to the vertices. T4.3. igraph_subgraph_edgesD  Creates a subgraph with the specified edges and their endpoints. HThis function collects the specified edges and their endpoints to a new K graph. As the vertex ids in a graph always start with zero, this function 4 very likely needs to reassign ids to the vertices. U4.5. igraph_clusters1  Calculates the (weakly or strongly) connected  components in a graph. V4.6. igraph_is_connected@  Decides whether the graph is (weakly or strongly) connected. MA graph with zero vertices (i.e. the null graph) is connected by definition. W4.7. igraph_decompose0  Decompose a graph into connected components. NCreate separate graph for each component of a graph. Note that the vertex ids L in the new graphs will be different than in the original graph. (Except if 5 there is only one component in the original graph.) X4.9. igraph_biconnected_components$  Calculate biconnected components MA graph is biconnected if the removal of any single vertex (and its incident  edges) does not disconnect it. LA biconnected component of a graph is a maximal biconnected subgraph of it. L The biconnected components of a graph can be given by the partition of its O edges: every edge is a member of exactly one biconnected component. Note that D this is not true for vertices: the same vertex can be part of many  biconnected components. Y4.10. igraph_articulation_points%  Find the articulation points in a  graph. IA vertex is an articulation point if its removal increases the number of $ connected components in the graph. Z5.1. igraph_closeness.  Closeness centrality calculations for some  vertices. LThe closeness centrality of a vertex measures how easily other vertices can M be reached from it (or the other way: how easily it can be reached from the N other vertices). It is defined as the number of the number of vertices minus < one divided by the sum of the lengths of all geodesics from/ to the given  vertex. NIf the graph is not connected, and there is no path between two vertices, the O number of vertices is used instead the length of the geodesic. This is always , longer than the longest possible geodesic. [5.2. igraph_betweenness,  Betweenness centrality of some vertices. HThe betweenness centrality of a vertex is the number of geodesics going K through it. If there are more than one geodesic between two vertices, the L value of these geodesics are weighted by one over the number of geodesics. \5.3. igraph_edge_betweenness(  Betweenness centrality of the edges. GThe betweenness centrality of an edge is the number of geodesics going L through it. If there are more than one geodesics between two vertices, the L value of these geodesics are weighted by one over the number of geodesics. ]5.4. igraph_pagerank>  Calculates the Google PageRank for the specified vertices. ^5.6. igraph_personalized_pagerankK  Calculates the personalized Google PageRank for the specified vertices. _5.7. igraph_personalized_pagerank_vs  Calculates the personalized - Google PageRank for the specified vertices. `5.8. igraph_constraint  Burt's constraint scores. This function calculates Burt',s constraint scores for the given vertices, ! also known as structural holes. Burt'Es constraint is higher if ego has less, or mutually stronger related % (i.e. more redundant) contacts. Burt's measure of constraint, C[i] , of vertex  i's ego network V[i]-, is defined for directed and valued graphs, C[i] = sum( sum( (p[i,q] p[q,j] )^2, q in V[i], q != i,j ), j in V[] , j != i) Hfor a graph of order (ie. number of vertices) N, where proportional tie  strengths are defined as p[i,j]=(a[i,j]+a[j,i]) / sum(a[i,k]+a[k,i] , k in V[i] , k != i), a[i,j]H are elements of A and the latter being the graph adjacency matrix. For - isolated vertices, constraint is undefined. HBurt, R.S. (2004). Structural holes and good ideas. American Journal of  Sociology 110, 349-399. JThe first R version of this function was contributed by Jeroen Bruggeman. a5.9. igraph_maxdegree3  Calculate the maximum degree in a graph (or set  of vertices). CThe largest in-, out- or total degree of the specified vertices is  calculated. b5.10. igraph_strength4  Strength of the vertices, weighted vertex degree  in other words. LIn a weighted network the strength of a vertex is the sum of the weights of J all incident edges. In a non-weighted network this is exactly the vertex  degree. c5.11. igraph_eigenvector_centrality*  Eigenvector centrality of the vertices d5.12. igraph_hub_score  Kleinberg' s hub scores e5.13. igraph_authority_score  Kleinerg's authority scores f6.1. igraph_closeness_estimate(  Closeness centrality estimations for  some vertices. LThe closeness centrality of a vertex measures how easily other vertices can M be reached from it (or the other way: how easily it can be reached from the N other vertices). It is defined as the number of the number of vertices minus < one divided by the sum of the lengths of all geodesics from/ to the given O vertex. When estimating closeness centrality, igraph considers paths having a 9 length less than or equal to a prescribed cutoff value. EIf the graph is not connected, and there is no such path between two N vertices, the number of vertices is used instead the length of the geodesic. ; This is always longer than the longest possible geodesic. MSince the estimation considers vertex pairs with a distance greater than the L given value as disconnected, the resulting estimation will always be lower ' than the actual closeness centrality. g6.2. igraph_betweenness_estimate'  Estimated betweenness centrality of  some vertices. HThe betweenness centrality of a vertex is the number of geodesics going K through it. If there are more than one geodesic between two vertices, the L value of these geodesics are weighted by one over the number of geodesics. N When estimating betweenness centrality, igraph takes into consideration only N those paths that are shorter than or equal to a prescribed length. Note that A the estimated centrality will always be less than the real one. h6.3.  igraph_edge_betweenness_estimate$  Estimated betweenness centrality  of the edges. GThe betweenness centrality of an edge is the number of geodesics going L through it. If there are more than one geodesics between two vertices, the L value of these geodesics are weighted by one over the number of geodesics. N When estimating betweenness centrality, igraph takes into consideration only N those paths that are shorter than or equal to a prescribed length. Note that i7.2. igraph_centralization_degree%  Calculate vertex degree and graph  centralization MThis function calculates the degree of the vertices by passing its arguments L to igraph_degree(); and it calculates the graph level centralization index : based on the results by calling igraph_centralization(). j7.3. !igraph_centralization_betweenness$  Calculate vertex betweenness and  graph centralization GThis function calculates the betweenness centrality of the vertices by L passing its arguments to igraph_betweenness(); and it calculates the graph < level centralization index based on the results by calling  igraph_centralization(). k7.4. igraph_centralization_closeness"  Calculate vertex closeness and  graph centralization MThis function calculates the closeness centrality of the vertices by passing H its arguments to igraph_closeness(); and it calculates the graph level O centralization index based on the results by calling igraph_centralization(). l7.5. ,igraph_centralization_eigenvector_centrality  Calculate 8 eigenvector centrality scores and graph centralization GThis function calculates the eigenvector centrality of the vertices by L passing its arguments to igraph_eigenvector_centrality); and it calculates F the graph level centralization index based on the results by calling  igraph_centralization(). m7.6. !igraph_centralization_degree_tmax!  Theoretical maximum for graph  centralization based on degree HThis function returns the theoretical maximum graph centrality based on  vertex degree. LThere are two ways to call this function, the first is to supply a graph as H the graph argument, and then the number of vertices is taken from this K object, and its directedness is considered as well. The nodes argument is O ignored in this case. The mode argument is also ignored if the supplied graph  is undirected. NThe other way is to supply a null pointer as the graph argument. In this case . the nodes and mode arguments are considered. NThe most centralized structure is the star. More specifically, for undirected O graphs it is the star, for directed graphs it is the in-star or the out-star. n7.7. &igraph_centralization_betweenness_tmax  Theoretical maximum for + graph centralization based on betweenness HThis function returns the theoretical maximum graph centrality based on  vertex betweenness. LThere are two ways to call this function, the first is to supply a graph as H the graph argument, and then the number of vertices is taken from this K object, and its directedness is considered as well. The nodes argument is M ignored in this case. The directed argument is also ignored if the supplied  graph is undirected. NThe other way is to supply a null pointer as the graph argument. In this case 2 the nodes and directed arguments are considered. ,The most centralized structure is the star. o7.8. $igraph_centralization_closeness_tmax!  Theoretical maximum for graph # centralization based on closeness HThis function returns the theoretical maximum graph centrality based on  vertex closeness. LThere are two ways to call this function, the first is to supply a graph as H the graph argument, and then the number of vertices is taken from this K object, and its directedness is considered as well. The nodes argument is O ignored in this case. The mode argument is also ignored if the supplied graph  is undirected. NThe other way is to supply a null pointer as the graph argument. In this case . the nodes and mode arguments are considered. ,The most centralized structure is the star. p7.9. 1igraph_centralization_eigenvector_centrality_tmax  Theoretical 3 maximum centralization for eigenvector centrality HThis function returns the theoretical maximum graph centrality based on  vertex eigenvector centrality. LThere are two ways to call this function, the first is to supply a graph as H the graph argument, and then the number of vertices is taken from this K object, and its directedness is considered as well. The nodes argument is M ignored in this case. The directed argument is also ignored if the supplied  graph is undirected. NThe other way is to supply a null pointer as the graph argument. In this case 2 the nodes and directed arguments are considered. MThe most centralized directed structure is the in-star. The most centralized 7 undirected structure is the graph with a single edge. q8.1. igraph_bibcoupling  Bibliographic coupling. KThe bibliographic coupling of two vertices is the number of other vertices  they both cite, `igraph_bibcoupling()`$ calculates this. The bibliographic O coupling score for each given vertex and all other vertices in the graph will  be calculated. r8.2. igraph_cocitation  Cocitation coupling. ITwo vertices are cocited if there is another vertex citing both of them.  `igraph_cocitation()`8 simply counts how many times two vertices are cocited. J The cocitation score for each given vertex and all other vertices in the  graph will be calculated. s8.3. igraph_similarity_jaccard*  Jaccard similarity coefficient for the  given vertices. KThe Jaccard similarity coefficient of two vertices is the number of common L neighbors divided by the number of vertices that are neighbors of at least H one of the two vertices being considered. This function calculates the B pairwise Jaccard similarities for some (or all) of the vertices. t8.4. igraph_similarity_jaccard_pairs&  Jaccard similarity coefficient for  given vertex pairs. KThe Jaccard similarity coefficient of two vertices is the number of common L neighbors divided by the number of vertices that are neighbors of at least H one of the two vertices being considered. This function calculates the ; pairwise Jaccard similarities for a list of vertex pairs. u8.5. igraph_similarity_jaccard_es(  Jaccard similarity coefficient for a  given edge selector. KThe Jaccard similarity coefficient of two vertices is the number of common L neighbors divided by the number of vertices that are neighbors of at least H one of the two vertices being considered. This function calculates the J pairwise Jaccard similarities for the endpoints of edges in a given edge  selector. v8.6. igraph_similarity_dice  Dice similarity coefficient. GThe Dice similarity coefficient of two vertices is twice the number of J common neighbors divided by the sum of the degrees of the vertices. This M function calculates the pairwise Dice similarities for some (or all) of the  vertices. w8.7. igraph_similarity_dice_pairs)  Dice similarity coefficient for given  vertex pairs. GThe Dice similarity coefficient of two vertices is twice the number of J common neighbors divided by the sum of the degrees of the vertices. This I function calculates the pairwise Dice similarities for a list of vertex  pairs. x8.8. igraph_similarity_dice_es+  Dice similarity coefficient for a given  edge selector. NThe Dice similarity coefficient of two vertices is twice the number of common L neighbors divided by the sum of the degrees of the vertices. This function K calculates the pairwise Dice similarities for the endpoints of edges in a  given edge selector. y8.9. &igraph_similarity_inverse_log_weighted  Vertex similarity based on * the inverse logarithm of vertex degrees. KThe inverse log-weighted similarity of two vertices is the number of their M common neighbors, weighted by the inverse logarithm of their degrees. It is M based on the assumption that two vertices should be considered more similar F if they share a low-degree common neighbor, since high-degree common : neighbors are more likely to appear even by pure chance. AIsolated vertices will have zero similarity to any other vertex. ' Self-similarities are not calculated. ISee the following paper for more details: Lada A. Adamic and Eytan Adar: I Friends and neighbors on the Web. Social Networks, 25(3):211-230, 2003. z9.1. igraph_minimum_spanning_tree4  Calculates one minimum spanning tree of a graph. NIf the graph has more minimum spanning trees (this is always the case, except C if it is a forest) this implementation returns only the same one. CDirected graphs are considered as undirected for this computation. LIf the graph is not connected then its minimum spanning forest is returned. B This is the set of the minimum spanning trees of each component. {9.2. 'igraph_minimum_spanning_tree_unweighted  Calculates one minimum ' spanning tree of an unweighted graph. |9.3. !igraph_minimum_spanning_tree_prim  Calculates one minimum $ spanning tree of a weighted graph. }10.1. igraph_transitivity_undirected  Calculates the transitivity & (clustering coefficient) of a graph. MThe transitivity measures the probability that two neighbors of a vertex are M connected. More precisely, this is the ratio of the triangles and connected O triples in the graph, the result is a single real number. Directed graphs are  considered as undirected ones. MNote that this measure is different from the local transitivity measure (see  `&igraph_transitivity_local_undirected()`' ) as it calculates a single value for @ the whole graph. See the following reference for more details: NS. Wasserman and K. Faust: Social Network Analysis: Methods and Applications. . Cambridge: Cambridge University Press, 1994. @Clustering coefficient is an alternative name for transitivity. ~10.2. $igraph_transitivity_local_undirected  Calculates the local 3 transitivity (clustering coefficient) of a graph. MThe transitivity measures the probability that two neighbors of a vertex are N connected. In case of the local transitivity, this probability is calculated  separately for each vertex. NNote that this measure is different from the global transitivity measure (see N igraph_transitivity_undirected() ) as it calculates a transitivity value for I each vertex individually. See the following reference for more details: JD. J. Watts and S. Strogatz: Collective dynamics of small-world networks. " Nature 393(6684):440-442 (1998). @Clustering coefficient is an alternative name for transitivity. 10.3. 'igraph_transitivity_avglocal_undirected  Average local transitivity  (clustering coefficient). MThe transitivity measures the probability that two neighbors of a vertex are K connected. In case of the average local transitivity, this probability is N calculated for each vertex and then the average is taken. Vertices with less L than two neighbors require special treatment, they will either be left out N from the calculation or they will be considered as having zero transitivity, ! depending on the mode argument. NNote that this measure is different from the global transitivity measure (see  ` igraph_transitivity_undirected()`( ) as it simply takes the average local M transitivity across the whole network. See the following reference for more  details: JD. J. Watts and S. Strogatz: Collective dynamics of small-world networks. " Nature 393(6684):440-442 (1998). @Clustering coefficient is an alternative name for transitivity. 10.4. igraph_transitivity_barrat+  Weighted transitivity, as defined by A.  Barrat. LThis is a local transitivity, i.e. a vertex-level index. For a given vertex N i, from all triangles in which it participates we consider the weight of the N edges incident on i. The transitivity is the sum of these weights divided by ' twice the strength of the vertex (see `igraph_strength()`) and the degree of C the vertex minus one. See Alain Barrat, Marc Barthelemy, Romualdo N Pastor-Satorras, Alessandro Vespignani: The architecture of complex weighted : networks, Proc. Natl. Acad. Sci. USA 101, 3747 (2004) at  http: arxiv.orgabscond-mat/0311416 for the exact formula. 12.1. igraph_laplacian+  Returns the Laplacian matrix of a graph JThe graph Laplacian matrix is similar to an adjacency matrix but contains  -1's instead of 1':s and the vertex degrees are included in the diagonal. So O the result for edge i--j is -1 if i!=j and is equal to the degree of vertex i L if i==j. igraph_laplacian will work on a directed graph; in this case, the D diagonal will contain the out-degrees. Loop edges will be ignored. IThe normalized version of the Laplacian matrix has 1 in the diagonal and  -1/sqrt(d[i]d[j]#) if there is an edge from i to j. EThe first version of this function was written by Vincent Matossian. 14.1. igraph_assortativity_nominal%  Assortativity of a graph based on  vertex categories NAssuming the vertices of the input graph belong to different categories, this E function calculates the assortativity coefficient of the graph. The M assortativity coefficient is between minus one and one and it is one if all H connections stay within categories, it is minus one, if the network is B perfectly disassortative. For a randomly connected network it is  (asymptotically) zero. MSee equation (2) in M. E. J. Newman: Mixing patterns in networks, Phys. Rev.  E 67, 026126 (2003) (http: arxiv.orgabscond-mat/0209450) for the proper  definition. 14.2. igraph_assortativity0  Assortativity based on numeric properties of  vertices KThis function calculates the assortativity coefficient of the input graph. O This coefficient is basically the correlation between the actual connectivity L patterns of the vertices and the pattern expected from the distribution of  the vertex types. NSee equation (21) in M. E. J. Newman: Mixing patterns in networks, Phys. Rev.  E 67, 026126 (2003) (http: arxiv.orgabscond-mat/0209450) for the proper L definition. The actual calculation is performed using equation (26) in the F same paper for directed graphs, and equation (4) in M. E. J. Newman: D Assortative mixing in networks, Phys. Rev. Lett. 89, 208701 (2002)  (http: arxiv.orgabscond-mat0205405) for undirected graphs. 14.3. igraph_assortativity_degree,  Assortativity of a graph based on vertex  degree GAssortativity based on vertex degree, please see the discussion at the 6 documentation of igraph_assortativity() for details. 15.1. igraph_coreness6  Finding the coreness of the vertices in a network. NThe k-core of a graph is a maximal subgraph in which each vertex has at least J degree k. (Degree here means the degree in the subgraph of course.). The N coreness of a vertex is the highest order of a k-core containing the vertex. NThis function implements the algorithm presented in Vladimir Batagelj, Matjaz C Zaversnik: An O(m) Algorithm for Cores Decomposition of Networks. 16.1.  igraph_is_dag6  Checks whether a graph is a directed acyclic graph  (DAG) or not. CA directed acyclic graph (DAG) is a directed graph with no cycles. 16.2. igraph_topological_sorting,  Calculate a possible topological sorting  of the graph. NA topological sorting of a directed acyclic graph is a linear ordering of its O nodes where each node comes before all nodes to which it has edges. Every DAG O has at least one topological sort, and may have many. This function returns a N possible topological sort among them. If the graph is not acyclic (it has at K least one cycle), a partial topological sort is returned and a warning is  issued. 16.3. igraph_feedback_arc_set.  Calculates a feedback arc set of the graph  using different LA feedback arc set is a set of edges whose removal makes the graph acyclic. L We are usually interested in minimum feedback arc sets, i.e. sets of edges @ whose total weight is minimal among all the feedback arc sets. HFor undirected graphs, the problem is simple: one has to find a maximum N weight spanning tree and then remove all the edges not in the spanning tree. M For directed graphs, this is an NP-hard problem, and various heuristics are L usually used to find an approximate solution to the problem. This function ' implements a few of these heuristics. 17.1. !igraph_maximum_cardinality_search  Maximum cardinality search LThis function implements the maximum cardinality search algorithm discussed M in Robert E Tarjan and Mihalis Yannakakis: Simple linear-time algorithms to L test chordality of graphs, test acyclicity of hypergraphs, and selectively M reduce acyclic hypergraphs. SIAM Journal of Computation 13, 566--579, 1984. 17.2. igraph_is_chordal&  Decides whether a graph is chordal LA graph is chordal if each of its cycles of four or more nodes has a chord, K which is an edge joining two nodes that are not adjacent in the cycle. An N equivalent definition is that any chordless cycles have at most three nodes. QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<=>?@ABCDEfrom to list of (vertices, edges) FGfrom to list of (vertices, edges) HIfrom to .list of vertices along the shortest path from  from" to each other (reachable) vertex Jfrom to .list of vertices along the shortest path from  from" to each other (reachable) vertex KLBoolean, whether to consider directed paths. Ignored for undirected graphs. -What to do if the graph is not connected. If . TRUE the average of the geodesics within the , components will be returned, otherwise the . number of vertices is used for the length of / non-existing geodesics. (The rationale behind - this is that this is always longer than the ( longest possible geodesic in a graph.) L1Whether to consider directed paths in a directed 3 graph (if not zero). This argument is ignored for  undirected graphs. M'the diameter of the graph, the starting/end  vertices and the longest path N/(diameter, source vertex, target vertex, path) Ogirth with the shortest circle PQRSTU3(number of clusters, list of size of all clusters) VWX(number of biconnected G components, edges of spanning trees, edges of biconnected components, G vertices of biconnected components, articulation points of the graph) YZ[\]The damping factor (d in the original paper) ^The damping factor (d in the original paper) _The damping factor (d in the original paper) 3IDs of the vertices used when resetting the random  walk. `acount self-loops? bcount self-loops? c?If True the result will be scaled such that the absolute value # of the maximum centrality is one. d>If True then the result will be scaled such that the absolute ) value of the maximum centrality is one. e>If True then the result will be scaled such that the absolute ) value of the maximum centrality is one. fcutoff gcutoff hcutoff iconsider loop edges?  normalize centralization score? C(node-level degree scores, centralization scores, theoretical max) j normalize centralization score? C(node-level degree scores, centralization scores, theoretical max) k normalize centralization score? C(node-level degree scores, centralization scores, theoretical max) l?If True then the result will be scaled, such that the absolute ) value of the maximum centrality is one. ABoolean, whether to calculate a normalized centralization score. @ See igraph_centralization() for how the normalization is done. =(leading eigen-value, centralization score, theoretical max) m either graph or number of nodes consider loop edges? nopAWhether to consider edge directions. This argument is ignored if 2 graph is not a null pointer and it is undirected MWhether to rescale the node-level centrality scores to have a maximum of one qrs@Whether to include the vertices themselves in the neighbor sets t@Whether to include the vertices themselves in the neighbor sets u@Whether to include the vertices themselves in the neighbor sets vBWhether to include the vertices themselves as their own neighbors wBWhether to include the vertices themselves as their own neighbors xBWhether to include the vertices themselves as their own neighbors yz{|}~0Whether to create a normalized Laplacian matrix ?whether to consider edge directions in a directed graph. It is  ignored for undirected graphs ?whether to consider edge directions for directed graphs. It is  ignored for undirected graphs >whether to consider edge directions for directed graphs. This 3 argument is ignored for undirected graphs. Supply  here to D do the natural thing, i.e. use directed version of the measure for C directed graphs and the undirected version for undirected graphs. :returns a list of fill-in edges to make the graph chordal   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)* !"#$%&'(,+-./4539:;012678<=  >?@ABCDEGFHIJKLMNOPQRSTUVW XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ igraph-0.1.1 Data.IGraphData.IGraph.Internal.ConstantsData.IGraph.TypesData.IGraph.InternalSubgraphImplementationCreateFromScratch CopyAndDelete SubgraphAuto FASAlgorithm ApproxEadesExactIP ConnectednessStrongWeak EdgeSelectorEsListEs1EsFromToEsSeq EsIncidentEsNoneEsAllVertexSelectorVsNonAdjVsAdjVsListVs1VsNoneVsAllWeighted IsUndirected ToDirected IsDirected ToUndirected IsUnweightedDUEEdge isDirected isWeightedtoEdgeedgeFromedgeTo edgeWeightGraphG getWeighttoEdgeWeighted emptyGraphfromListfromListWeighted numberOfNodes numberOfEdgesmember deleteNode insertEdge deleteEdgenodesedges neighboursreverseGraphDirection toDirected toUndirectedvsSizeselectedVerticesesSize selectedEdges areConnected shortestPathsshortestPathsDijkstrashortestPathsBellmanFordshortestPathsJohnsongetShortestPathsgetShortestPathgetShortestPathsDijkstragetShortestPathDijkstragetAllShortestPathsgetAllShortestPathsDijkstraaveragePathLengthpathLengthHistdiameterdiameterDijkstragirth eccentricityradius subcomponentinducedSubgraph subgraphEdgesclusters isConnected decomposebiconnectedComponentsarticulationPoints closeness betweennessedgeBetweennesspagerankpersonalizedPagerankpersonalizedPagerankVs constraint maxdegreestrengtheigenvectorCentralityhubScoreauthorityScoreclosenessEstimatebetweennessEstimateedgeBetweennessEstimatecentralizationDegreecentralizationBetweennesscentralizationCloseness#centralizationEigenvectorCentralitycentralizationDegreeTMaxcentralizationBetweennessTMaxcentralizationClosenessTMax'centralizationEigenvectorCentralityTMax bibCoupling cocitationsimilarityJaccardsimilarityJaccardPairssimilarityJaccardEssimilarityDicesimilarityDicePairssimilarityDiceEssimilarityInverseLogWeightedminimumSpanningTreeminimumSpanningTreeUnweightedminimumSpanningTreePrimtransitivityUndirectedtransitivityLocalUndirectedtransitivityAvglocalUndirectedtransitivityBarrat laplacianassortativityNominal assortativityassortativityDegreecorenessisDAGtopologicalSortingfeedbackArcSetmaximumCardinalitySearch isChordalNeiModeOutInAll $fEnumNeiModeTransitivityModeTransitivityZeroTransitivityNAN EdgeOrder EdgeOrderTo EdgeOrderFrom EdgeOrderIdTotalDirected Undirected sizeOfVit sizeOfVector$fEnumSubgraphImplementation$fEnumFASAlgorithm$fEnumTransitivityMode$fEnumEdgeOrder$fEnumConnectedness$fEnumDirectedundirectedToDirecteddirectedToUndirectedliftIsDirected setWeight getWeightsgraphNodeNumbergraphEdgeNumber graphIdToNode graphNodeToId graphEdgesgraphForeignPtrgraphArpackOptions graphNeiMode ArpackPtrArpack EsForeignPtrEsFunEsFEsPtrEs VsForeignPtrVsFunVsFVsIdentVsPtrVs SpMatrixPtrSpMatMatrixunM MatrixPtrMat GraphVectorPunGVP GraphVecPtrGraphVecVectorPunVPVectorunV VectorPtrPtrVecPtr VectorPtrVecGraphPtrGrph$fIsUndirectedWeighted$fIsDirectedWeighted $fOrdEdge $fShowEdge$fHashableEdge$fEqEdge $fEWeighteda$fIsUndirectedU $fIsDirectedD$fIsUnweightedD$fIsUnweightedU $fOrdEdge0 $fShowEdge0$fHashableEdge0$fEDa $fShowEdge1 $fOrdEdge1$fHashableEdge1 $fEqEdge0$fEUaWD_EdgeU_Edge initializec_igraph_destroyc_igraph_vector_ptr_lengthc_igraph_vector_ptr_getc_graph_vector_destroyc_igraph_vector_ptr_destroyc_igraph_vector_ptr_createc_igraph_vector_lengthc_igraph_vector_getc_igraph_vector_setc_igraph_vector_destroyc_igraph_vector_createc_igraph_matrix_get_rowc_igraph_matrix_ncolc_igraph_matrix_nrowc_igraph_matrix_setc_igraph_matrix_destroyc_igraph_matrix_createc_igraph_matrix_getc_igraph_es_seqc_igraph_es_fromtoc_igraph_es_vector c_igraph_es_1c_igraph_es_incidentc_igraph_es_nonec_igraph_es_allc_igraph_es_destroyc_igraph_es_createc_igraph_vs_vector c_igraph_vs_1c_igraph_vs_nonec_igraph_vs_nonadjc_igraph_vs_adjc_igraph_vs_allc_igraph_vs_destroyc_igraph_vs_createc_igraph_edgesc_arpack_destroyc_arpack_createc_igraph_createc_igraphhaskell_initialize$c_igraphhaskell_graph_get_vertex_ids$c_igraphhaskell_graph_set_vertex_ids nodeToId'' idToNode'' edgeToEdgeId edgeIdToEdge getNeiMode setVertexIds getVertexIdssubgraphFromPtrbuildForeignGraph withGraphsetGraphPointer withWeightswithOptionalWeightsnewVswithVswithVs'newEswithEswithEs' withArpack newMatrixgetMatrixValue listToMatrix matrixToList newVector newVector' vectorToList vectorToList' listToVector newVectorPtr newVectorPtr'newGraphVectorvectorPtrToListvectorPtrToListOfVectorPtr edgesToVector vectorToEdgesvectorToEdges'vectorToVerticesvectorToVertices'vectorPtrToVerticesvectorPtrToEdgesgraphVectorToSubgraphs withMatrix withVector withVectorPtrwithGraphVector forListM_ emptyWithCtxtnodeToIdidToNode $fEqGraph $fShowGraph $fEqGraph0 $fEqGraph1 $fShowGraph0 $fShowGraph1c_igraph_is_chordal#c_igraph_maximum_cardinality_searchc_igraph_feedback_arc_setc_igraph_topological_sortingc_igraph_is_dagc_igraph_corenessc_igraph_assortativity_degreec_igraph_assortativityc_igraph_assortativity_nominalc_igraph_laplacianc_igraph_transitivity_barrat)c_igraph_transitivity_avglocal_undirected&c_igraph_transitivity_local_undirected c_igraph_transitivity_undirected#c_igraph_minimum_spanning_tree_prim)c_igraph_minimum_spanning_tree_unweightedc_igraph_minimum_spanning_tree(c_igraph_similarity_inverse_log_weightedc_igraph_similarity_dice_esc_igraph_similarity_dice_pairsc_igraph_similarity_dicec_igraph_similarity_jaccard_es!c_igraph_similarity_jaccard_pairsc_igraph_similarity_jaccardc_igraph_cocitationc_igraph_bibcoupling3c_igraph_centralization_eigenvector_centrality_tmax&c_igraph_centralization_closeness_tmax(c_igraph_centralization_betweenness_tmax#c_igraph_centralization_degree_tmax.c_igraph_centralization_eigenvector_centrality!c_igraph_centralization_closeness#c_igraph_centralization_betweennessc_igraph_centralization_degree"c_igraph_edge_betweenness_estimatec_igraph_betweenness_estimatec_igraph_closeness_estimatec_igraph_authority_scorec_igraph_hub_scorec_igraph_eigenvector_centralityc_igraph_strengthc_igraph_maxdegreec_igraph_constraint!c_igraph_personalized_pagerank_vsc_igraph_personalized_pagerankc_igraph_pagerankc_igraph_edge_betweennessc_igraph_betweennessc_igraph_closenessc_igraph_articulation_pointsc_igraph_biconnected_componentsc_igraph_decomposec_igraph_is_connectedc_igraph_clustersc_igraph_subgraph_edgesc_igraph_induced_subcomponentc_igraph_subcomponentc_igraph_radiusc_igraph_eccentricityc_igraph_girthc_igraph_diameter_dijkstrac_igraph_diameterc_igraph_path_length_histc_igraph_average_path_length(c_igraph_get_all_shortest_paths_dijkstrac_igraph_get_all_shortest_paths#c_igraph_get_shortest_path_dijkstra$c_igraph_get_shortest_paths_dijkstrac_igraph_get_shortest_pathc_igraph_get_shortest_pathsc_igraph_shortest_paths_johnson$c_igraph_shortest_paths_bellman_ford c_igraph_shortest_paths_dijkstrac_igraph_shortest_pathsc_igraph_are_connectedc_selected_edgesc_igraph_es_sizec_selected_verticesc_igraph_vs_size roundMaybeghc-prim GHC.TypesTrue