Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

networkx.linalg.laplacianmatrix.normalized_laplacian_matrix

normalized_laplacian_matrix(G, nodelist=None, weight='weight')[source]

Returns the normalized Laplacian matrix of G.

The normalized graph Laplacian is the matrix

\[N = D^{-1/2} L D^{-1/2}\]

where L is the graph Laplacian and D is the diagonal matrix of node degrees.

Parameters:
  • G (graph) – A NetworkX graph
  • nodelist (list, optional) – The rows and columns are ordered according to the nodes in nodelist. If nodelist is None, then the ordering is produced by G.nodes().
  • weight (string or None, optional (default=’weight’)) – The edge data key used to compute each value in the matrix. If None, then each edge has weight 1.
Returns:

N – The normalized Laplacian matrix of G.

Return type:

NumPy matrix

Notes

For MultiGraph/MultiDiGraph, the edges weights are summed. See to_numpy_matrix for other options.

If the Graph contains selfloops, D is defined as diag(sum(A,1)), where A is the adjacency matrix [2].

References

[1]Fan Chung-Graham, Spectral Graph Theory, CBMS Regional Conference Series in Mathematics, Number 92, 1997.
[2]Steve Butler, Interlacing For Weighted Graphs Using The Normalized Laplacian, Electronic Journal of Linear Algebra, Volume 16, pp. 90-98, March 2007.