Skip to main content

add_self_loops

Function add_self_loops 

Source
pub fn add_self_loops(
    adj_row_offsets: &[usize],
    adj_col_indices: &[usize],
    adj_values: &[f64],
    num_nodes: usize,
) -> (Vec<usize>, Vec<usize>, Vec<f64>)
Expand description

Add self-loops to an adjacency matrix: A’ = A + I.

For each node i, ensures there is an edge (i, i) with value 1.0. Existing self-loops are incremented by 1.0.

§Arguments

  • adj_row_offsets – CSR row pointer.
  • adj_col_indices – CSR column indices.
  • adj_values – CSR values.
  • num_nodes – Number of nodes.

§Returns

A tuple (row_offsets, col_indices, values) for the new CSR matrix with self-loops.