trans_closure

Scilab function
Last update : September 1995

trans_closure - transitive closure

### Calling Sequence

  `g1 = trans_closure(g)`

### Parameters

- `g`: graph list
- `g1`: graph list

### Description

`trans_closure` returns as a new graph list `g1` the transitive closure of the graph `g`. This graph must be directed and connected. If `<name>` if the name of graph `g`, `<name>_trans_closure` is the name of the transitive closure.

### Examples

    ta=[2 3 3 5 3 4 4 5 8];
    he=[1 2 4 2 6 6 7 7 4];
    g=make_graph('foo',1,8,ta,he);
    g('node_x')=[129 200 283 281 128 366 122 333];
    g('node_y')=[61 125 129 189 173 135 236 249];
    show_graph(g);
    g1=trans_closure(g);
    vv=1*ones(ta); aa=sparse([ta' he'],vv');
    ta1=g1('tail'); he1=g1('head');
    ww=1*ones(ta1); bb=sparse([ta1' he1'],ww');
    dif=bb-aa; lim=size(ta1); edgecolor=0*ones(ta1);
    for i=1:lim(2)
     if dif(ta1(i),he1(i))==1 then edgecolor(i)=11; end;
    end;
    g1('edge_color')=edgecolor;
    x_message('Transitive closure of the graph');
    show_graph(g1);