graph-operators            package:igraph            R Documentation

_G_r_a_p_h _o_p_e_r_a_t_o_r_s

_D_e_s_c_r_i_p_t_i_o_n:

     Graph operators handle graphs in terms of set theory.

_U_s_a_g_e:

     graph.union(...)
     graph.disjoint.union(...)
     graph.intersection(...)
     graph.compose(g1, g2)
     graph.difference(big, small)
     graph.complementer(graph, loops=FALSE)
     x %c% y
     x %du% y
     x %m% y
     x %s% y
     x %u% y

_A_r_g_u_m_e_n_t_s:

     ...: Graph objects or lists of graph objects.

g1,g2,big,small,graph,x,y: Graph objects.

   loops: Logical constant, whether to generate loop edges.

_D_e_t_a_i_l_s:

     A graph is homogenous binary relation over the set 0, ..., |V|-1,
     |V| is the number of vertices in the graph. A homogenous binary
     relation is a set of ordered (directed graphs) or unordered
     (undirected graphs) pairs taken from 0, ..., |V|-1. The functions
     documented here handle graphs as relations.

     'graph.union' creates the union of two or more graphs. Ie. only
     edges which are included in at least one graph will be part of the
     new graph. 

     'graph.disjoint.union' creates a union of two or more disjoint
     graphs. Thus first the vertices in the second, third, etc. graphs
     are relabeled to have completely disjoint graphs. Then a simple
     union is created. 

     'graph.intersection' creates the intersection of two or more
     graphs: only edges present in all graphs will be included.

     'graph.difference' creates the difference of two graphs. Only
     edges present in the first graph but not in the second will be be
     included in the new graph.

     'graph.complementer' creates the complementer of a graph. Only
     edges which are _not_ present in the original graph will be
     included in the new graph.

     'graph.compose' creates the composition of two graphs. The new
     graph will contain an (a,b) edge only if there is a vertex c, such
     that edge (a,c) is included in the first graph and (c,b) is
     included in the second graph.

     These functions do not handle vertex and edge attributes, the new
     graph will have no attributes at all. Yes, this is considered to
     be a bug, so will likely change in the near future.

_V_a_l_u_e:

     A new graph object.

_A_u_t_h_o_r(_s):

     Gabor Csardi csardi@rmki.kfki.hu

_E_x_a_m_p_l_e_s:

     g1 <- graph.ring(10)
     g2 <- graph.star(10, mode="undirected")
     graph.union(g1, g2)
     graph.disjoint.union(g1, g2)
     graph.intersection(g1, g2)
     graph.difference(g1, g2)
     graph.complementer(g2)
     graph.compose(g1, g2)

