Skip to main content

normalized_laplacian_spectrum

Function normalized_laplacian_spectrum 

Source
pub fn normalized_laplacian_spectrum(graph: &Graph) -> IgraphResult<Vec<f64>>
Expand description

Compute the normalized Laplacian spectrum, sorted ascending.

The normalized Laplacian L_norm = I - D^{-1/2} A D^{-1/2} has all eigenvalues in [0, 2]. The multiplicity of the zero eigenvalue equals the number of connected components (among non-isolated vertices).

For undirected graphs only.

ยงExamples

use rust_igraph::{Graph, normalized_laplacian_spectrum};

// K_3: normalized Laplacian eigenvalues {0, 3/2, 3/2}
let g = Graph::from_edges(&[(0,1),(1,2),(0,2)], false, Some(3)).unwrap();
let spec = normalized_laplacian_spectrum(&g).unwrap();
assert!(spec[0].abs() < 0.01);
assert!((spec[1] - 1.5).abs() < 0.1);