GraphTheory - Maple Programming Help

Home : Support : Online Help : Mathematics : Discrete Mathematics : Graph Theory : GraphTheory Package : GraphTheory/MakeWeighted

GraphTheory

 MakeWeighted

 Calling Sequence MakeWeighted(G) MakeWeighted(G, M)

Parameters

 G - unweighted graph M - (optional) Matrix

Description

 • The MakeWeighted command returns a graph with vertices and edges from G. If M is part of the input, then the edge weights are taken from it; otherwise edge weights are assumed to be 1. If G is undirected, then M is assumed to be a symmetric matrix.
 • For efficiency, use datatype=integer for wordsize integer weights and datatype=float[8] for numerical (decimal) edge weights.
 • To read or modify the edge weights of a weighted graph, use the GetEdgeWeight and SetEdgeWeight commands.

Examples

 > with(GraphTheory):
 > G := Graph({{1,2},{2,3},{3,1}});
 ${G}{≔}{\mathrm{Graph 1: an undirected unweighted graph with 3 vertices and 3 edge\left(s\right)}}$ (1)
 > M := Matrix([[0,2,3],[2,0,1],[3,1,0]]);
 ${M}{≔}\left[\begin{array}{ccc}{0}& {2}& {3}\\ {2}& {0}& {1}\\ {3}& {1}& {0}\end{array}\right]$ (2)
 > H1 := MakeWeighted(G, M);
 ${\mathrm{H1}}{≔}{\mathrm{Graph 2: an undirected weighted graph with 3 vertices and 3 edge\left(s\right)}}$ (3)
 > Edges(H1);
 $\left\{\left\{{1}{,}{2}\right\}{,}\left\{{1}{,}{3}\right\}{,}\left\{{2}{,}{3}\right\}\right\}$ (4)
 > WeightMatrix(H1);
 $\left[\begin{array}{ccc}{0}& {2}& {3}\\ {2}& {0}& {1}\\ {3}& {1}& {0}\end{array}\right]$ (5)
 > M := Matrix(M,datatype=float[8],shape=symmetric);
 ${M}{≔}\left[\begin{array}{ccc}{0.}& {2.}& {3.}\\ {2.}& {0.}& {1.}\\ {3.}& {1.}& {0.}\end{array}\right]$ (6)
 > H2 := MakeWeighted(G,M);
 ${\mathrm{H2}}{≔}{\mathrm{Graph 3: an undirected weighted graph with 3 vertices and 3 edge\left(s\right)}}$ (7)
 > WeightMatrix(H2);
 $\left[\begin{array}{ccc}{0.}& {2.}& {3.}\\ {2.}& {0.}& {1.}\\ {3.}& {1.}& {0.}\end{array}\right]$ (8)