Skip to main content

from_hrg_dendrogram

Function from_hrg_dendrogram 

Source
pub fn from_hrg_dendrogram(hrg: &HrgTree) -> IgraphResult<HrgDendrogram>
Expand description

Convert an HrgTree into a directed graph dendrogram.

The graph has 2n - 1 vertices (n = hrg.size()): vertices 0..n are leaves, n..2n-1 are internal. Each internal vertex has two directed edges to its children.

ยงExample

use rust_igraph::{HrgTree, from_hrg_dendrogram};

let mut hrg = HrgTree::new(3);
hrg.left[0] = 0;   hrg.right[0] = -2;  hrg.prob[0] = 0.5;
hrg.left[1] = 1;   hrg.right[1] = 2;   hrg.prob[1] = 0.8;
hrg.vertices = vec![3, 2];
hrg.edges = vec![4, 2];

let d = from_hrg_dendrogram(&hrg).unwrap();
assert_eq!(d.graph.vcount(), 5);
assert_eq!(d.graph.ecount(), 4);
assert!(d.prob[0].is_nan()); // leaf
assert!((d.prob[3] - 0.5).abs() < 1e-10);