Therefore, the derivation of some elementary branching properties
follows directly from the graph representation of the tree.
As such, the child nodes of each node i can be read out in the non-zero
elements directly from dA in column i.
The index of the direct parent node idpar to any node i
(see "idpar_tree")
is simply the i-th element of:
idpar = dA x (1 2 ... N)T
Further order r parents are simply obtained by applying repeated
matrix multiplication
(see "ipar_tree"):
iparr = dAr x (1 2 ... N)T
Where r = 0 corresponds to the node itself, r = 1 the parent,
r = 2 the grand-parent etc…
Correspondingly, the vector of topological path lengths PL
(see "PL_tree")
from all nodes to the root of the directed graph can be obtained as follows:
where dA1 is the first column of dA.
A similar approach can be used to obtain the vector of branch order values
for all elements compared to the root of the graph in position 1.
A supporting adjacency matrix sdA is required,
which is weighted by the number of child nodes of each node:
sdA = dA · (diag(sum(dA)))
By multiplying this matrix, branch points get potentiated, and the branch order BO (see "BO_tree") can be extracted by taking the base 2 logarithm:
where sdA1 is the first column of sdA.
This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 License