<< girth Graphs - Nets graph_center >>

metanet >> metanet > Graphs - Nets > graph_2_mat

graph_2_mat

node-arc or node-node incidence matrix of a graph

Calling Sequence

a = graph_2_mat(g,mat)

Parameters

g

a graph_data_structure.

mat

optional string, 'node-arc' or 'node-node' matrix

a

sparse node-arc or node-node incidence matrix

Description

graph_2_mat computes the node-arc or the node-node incidence matrix corresponding to the graph g.

If the optional argument mat is omitted or is the string 'node-arc', the node-arc matrix is computed. If mat is the string 'node-node', the node-node matrix is computed.

If n is the number of nodes of the graph and m is the number of edges of the graph, the node-arc matrix is a Scilab sparse matrix of size (n,m).

It is defined as follows. If the graph is directed:

a(i,j) = +1 if node i is the tail of arc j

a(i,j) = -1 if node i is the head of arc j

If the graph is undirected:

a(i,j) = 1 if node i is the tail or the head of arc j

If n is the number of nodes of the graph, the node-node matrix is a Scilab sparse matrix of size (n,n).

It is defined as follows:

a(i,j) = 1 if there is an arc from node i to node j

Examples

ta = [10,3,6,2,3,7,6,9,5,10,8,2,5,8,4,9,1,8,9,4,7]
he = [3,6,10,6,2,6,9,7,3,5,2,5,8,4,9,8,4,1,2,7,10]
g=make_graph('foo',1,10,ta,he);
g.nodes.graphics.x = [398,333,212,312,132,208,46,445,301,69];
g.nodes.graphics.y = [54,217,179,12,245,133,95,283,92,170];
g.nodes.graphics.display='number';
show_graph(g);

a=graph_2_mat(g,'node-node');
a=[['' string(1:10)];[string(1:10)' string(full(a))]]

a=graph_2_mat(g);
string(full(a))'

See Also


Report an issue
<< girth Graphs - Nets graph_center >>