annotate toolboxes/FullBNT-1.0.7/graph/reachability_graph.m @ 0:cc4b1211e677 tip

initial commit to HG from Changeset: 646 (e263d8a21543) added further path and more save "camirversion.m"
author Daniel Wolff
date Fri, 19 Aug 2016 13:07:06 +0200
parents
children
rev   line source
Daniel@0 1 function C = reachability_graph(G)
Daniel@0 2 % REACHABILITY_GRAPH C(i,j) = 1 iff there is a path from i to j in DAG G
Daniel@0 3 % C = reachability_graph(G)
Daniel@0 4
Daniel@0 5 if 1
Daniel@0 6 % expm(G) = I + G + G^2 / 2! + G^3 / 3! + ...
Daniel@0 7 M = expm(double(full(G))) - eye(length(G));
Daniel@0 8 C = (M>0);
Daniel@0 9 else
Daniel@0 10 % This computes C = G + G^2 + ... + G^{n-1}
Daniel@0 11 n = length(G);
Daniel@0 12 A = G;
Daniel@0 13 C = zeros(n);
Daniel@0 14 for i=1:n-1
Daniel@0 15 C = C + A;
Daniel@0 16 A = A * G;
Daniel@0 17 end
Daniel@0 18 C = (C > 0);
Daniel@0 19 end