This class represents simple graphs. This class extends HyperGraph and hence inherits all HyperGraph methods.
i1 : R = QQ[w,x,y,z]; |
i2 : G = graph(R, {{w,x},{w,y},{w,z},{y,z}}); |
i3 : vertices G o3 = {w, x, y, z} o3 : List |
i4 : edges G o4 = {{w, x}, {w, y}, {w, z}, {y, z}} o4 : List |
i5 : ring G o5 = R o5 : PolynomialRing |
Like hypergraphs, graphs are associated with a polynomial ring whose variables are the vertices of the graph. Isolated vertices should not appear in the edge list. As a consequence, the edgeIdeal of a graph is always generated by quadratics. The fact that isolated vertices are not edges in a graph affects the output of the methods connectedComponents, numConnectedComponents, and isConnected. One can use connectedGraphComponents, numConnectedGraphComponents, and isConnectedGraph to ensure that each isolated vertex is counted as a separate connected component.
The object Graph is a type, with ancestor classes HyperGraph < HashTable < Thing.