The problem is in line 47 => "C{i} = [pa i];" should be replaced by "C{i} = [pa u];". It gives in this case:
"cliques{3}
ans =
4 3"
which is correct and confirmed by another similar function : "maxCardinalitySearch.m".
There is also a problem when the starting initial node choice in "perfectElimOrder.m". Nothing works except the case where "initNode=1" which is default value.
Hi, I think I've found a bug in "perfectElimOrder.m".
the following code
"G = [ 0 1/3 0 0 ; 1/2 0 0 1/2 ; 0 0 0 1/2 ; 0 1/2 1/2 0];
[order, chordal, cliques, numpa] = perfectElimOrder(G,1); cliques{3}"
generate 3rd clique as ">> cliques{3} ans = 4 4"
The problem is in line 47 => "C{i} = [pa i];" should be replaced by "C{i} = [pa u];". It gives in this case: "cliques{3} ans = 4 3" which is correct and confirmed by another similar function : "maxCardinalitySearch.m".
There is also a problem when the starting initial node choice in "perfectElimOrder.m". Nothing works except the case where "initNode=1" which is default value.
Regards Anton