GraphTheory
Graph
construct a graph
Calling Sequence
Parameters
Options
Description
Examples
Compatibility
Graph(V, opts)
Graph(V, E, opts)
Graph(L, opts)
Graph(V, L, opts)
Graph(T, opts)
Graph(A, opts)
Graph(V, E, A, opts)
Graph(N, opts)
V
-
(optional) list of vertices (integers, symbols, or strings) or integer specifying the vertices 1,2,...,V
E
(optional) set of edges
L
(optional) list or Array of neighbors
T
(optional) function of the form Trail(a,b,c,,...) or Trail([a,b,c,...])
A
(optional) adjacency Matrix (of edge weights)
N
(optional) procedure (a networks graph)
opts
(optional) one or more options as specified below
The opts parameter is used to specify one or more additional properties of the graph.
weighted or weighted=true
Specifies that this graph has weighted edges.
unweighted or weighted=false
Specifies that this graph has no edge weights.
directed or directed=true
Specifies that this graph has directed edges.
undirected or directed=false
Specifies that this graph has no directed edges.
selfloops=true or false
Specifies whether self-loops should be permitted in the graph. If false, an error will be issued if the edge information provided with parameters E, L, T, or A contains a self-loop. The default is true.
vertexcolor=c
Specifies a color or list of colors to associate with the vertices in vertex order.
vertexpositions=p
Specifies coordinate positions for the vertices for use with DrawGraph.
The type of each argument determines what it is. Because of this the arguments can appear in any order.
A symbol can be one of directed, undirected, weighted, or unweighted. This specifies the type of the graph. If not specified, a default is chosen depending on the type of the other inputs.
An integer n specifies the number of vertices and implicitly the vertex labels 1 through n.
A list V of integers, symbols or strings specifies the vertices. Each vertex must be an integer, symbol or string.
A set E specifies the set of edges. An undirected edge between vertices i and j is input as a set of two vertices i,j. A directed edge from vertex a to vertex b is input as a list a,b. A weighted edge is input as either e,w where e is an edge (directed or undirected) and w, the edge weight, is a number (integer or decimal).
An Array (or list) of lists / sets of vertices L specifies a mapping from vertices to their neighbors. Note that the mapping is an integer mapping that indicates the vertices (if the vertices are labeled as 1,2,3,...) or the location of each vertex in the vertex list V. If the graph is undirected, then the lists / sets of neighbors must be symmetric.
A function T of the form Trail(a,b,c,...) or Trail([a,b,c,...]) specifies a trail of edges from a to b to c .... By default the edges are undirected. If the symbol directed is specified as an option then they are directed. More than one trail can be specified. This is often the easiest way to enter a graph interactively.
A matrix A means the adjacency matrix. A symmetric matrix is interpreted as an undirected graph unless the edge direction is stated otherwise. Likewise, a matrix of 0's and 1's is interpreted as an unweighted graph unless specified otherwise. The diagonal entries of an adjacency matrix must all be equal to 0.
A procedure N means a networks graph. This option allows conversion from a networks graph representation to the GraphTheory representation. Note, the GraphTheory package does not support multigraphs.
with⁡GraphTheory:
Build a graph with 5 vertices and no edges.
G≔Graph⁡5
G≔Graph 1: an undirected unweighted graph with 5 vertices and 0 edge(s)
Vertices⁡G
1,2,3,4,5
Edges⁡G
∅
Build an undirected graph with 3 vertices, all of which are connected.
G≔Graph⁡a,b,a,c,b,c
G≔Graph 2: an undirected unweighted graph with 3 vertices and 3 edge(s)
a,b,c
a,b,a,c,b,c
DrawGraph⁡G
Build a directed graph with 3 vertices which form a directed cycle.
G≔Graph⁡1,2,2,3,3,1
G≔Graph 3: a directed unweighted graph with 3 vertices and 3 arc(s)
1,2,2,3,3,1
V≔a,b,c,d:
E≔a,b,2,b,c,2.3,c,a,32:
G≔Graph⁡V,E
G≔Graph 4: a directed weighted graph with 4 vertices and 3 arc(s)
WeightMatrix⁡G
0200002.30320000000
Build a directed graph with 4 vertices which form a directed cycle.
G≔Graph⁡a,b,c,d,2,3,4,1
G≔Graph 5: a directed unweighted graph with 4 vertices and 4 arc(s)
a,b,b,c,c,d,d,a
Build a undirected graph with 4 vertices by specifying a trail.
G≔Graph⁡Trail⁡1,2,3,4,1,3
G≔Graph 6: an undirected unweighted graph with 4 vertices and 5 edge(s)
1,2,1,3,1,4,2,3,3,4
G≔Graph⁡directed,Trail⁡1,2,3,1,Trail⁡4,5,6,4
G≔Graph 7: a directed unweighted graph with 6 vertices and 6 arc(s)
1,2,2,3,3,1,4,5,5,6,6,4
Build a undirected graph with 4 vertices by specifying an adjacency matrix.
A1≔Matrix⁡0,1,1,0,1,0,0,1,1,0,0,0,0,1,0,0:
G≔Graph⁡A1
G≔Graph 8: an undirected unweighted graph with 4 vertices and 3 edge(s)
1,2,1,3,2,4
G≔Graph⁡directed,A1,weighted
G≔Graph 9: a directed weighted graph with 4 vertices and 6 arc(s)
Edges⁡G,weights
1,2,1,1,3,1,2,1,1,2,4,1,3,1,1,4,2,1
A2≔Matrix⁡0,1.0,2.3,0,4,0,0,3.1,0,0,0,0,0,0,0,0:
G≔Graph⁡A2
G≔Graph 10: a directed weighted graph with 4 vertices and 4 arc(s)
1,2,1.0,1,3,2.3,2,1,4,2,4,3.1
Convert a graph built using the legacy networks package to a GraphTheory graph.
with⁡networks
acycpoly,addedge,addvertex,adjacency,allpairs,ancestor,arrivals,bicomponents,charpoly,chrompoly,complement,complete,components,connect,connectivity,contract,countcuts,counttrees,cube,cycle,cyclebase,daughter,degreeseq,delete,departures,diameter,dinic,djspantree,dodecahedron,draw,draw3d,duplicate,edges,ends,eweight,flow,flowpoly,fundcyc,getlabel,girth,graph,graphical,gsimp,gunion,head,icosahedron,incidence,incident,indegree,induce,isplanar,maxdegree,mincut,mindegree,neighbors,new,octahedron,outdegree,path,petersen,random,rank,rankpoly,shortpathtree,show,shrink,span,spanpoly,spantree,tail,tetrahedron,tuttepoly,vdegree,vertices,void,vweight
new⁡N:
addvertex⁡1,2,a,b,N
1,2,a,b
addedge⁡1,2,N
e1
addedge⁡a,b,N
e2
addedge⁡b,a,N
e3
G≔Graph⁡N
G≔Graph 11: a directed unweighted graph with 4 vertices and 4 arc(s)
1,2,2,1,a,b,b,a
addedge⁡1,a,weights=2,N
e4
addedge⁡2,b,weights=3,N
e5
G≔Graph 12: a directed weighted graph with 4 vertices and 6 arc(s)
1,2,1,1,a,2,2,1,1,2,b,3,a,b,1,b,a,1
The selfloops option was introduced in Maple 2020.
For more information on Maple 2020 changes, see Updates in Maple 2020.
See Also
Details
Digraph
DrawGraph
Edges
networks
RandomGraphs
SpecialGraphs
Trail
Vertices
Download Help Document
What kind of issue would you like to report? (Optional)