scipy.sparse.csgraph.laplacian¶
-
scipy.sparse.csgraph.
laplacian
(csgraph, normed=False, return_diag=False, use_out_degree=False)[source]¶ Return the Laplacian matrix of a directed graph.
Parameters: - csgraph : array_like or sparse matrix, 2 dimensions
compressed-sparse graph, with shape (N, N).
- normed : bool, optional
If True, then compute normalized Laplacian.
- return_diag : bool, optional
If True, then also return an array related to vertex degrees.
- use_out_degree : bool, optional
If True, then use out-degree instead of in-degree. This distinction matters only if the graph is asymmetric. Default: False.
Returns: - lap : ndarray or sparse matrix
The N x N laplacian matrix of csgraph. It will be a numpy array (dense) if the input was dense, or a sparse matrix otherwise.
- diag : ndarray, optional
The length-N diagonal of the Laplacian matrix. For the normalized Laplacian, this is the array of square roots of vertex degrees or 1 if the degree is zero.
Notes
The Laplacian matrix of a graph is sometimes referred to as the “Kirchoff matrix” or the “admittance matrix”, and is useful in many parts of spectral graph theory. In particular, the eigen-decomposition of the laplacian matrix can give insight into many properties of the graph.
Examples
>>> from scipy.sparse import csgraph >>> G = np.arange(5) * np.arange(5)[:, np.newaxis] >>> G array([[ 0, 0, 0, 0, 0], [ 0, 1, 2, 3, 4], [ 0, 2, 4, 6, 8], [ 0, 3, 6, 9, 12], [ 0, 4, 8, 12, 16]]) >>> csgraph.laplacian(G, normed=False) array([[ 0, 0, 0, 0, 0], [ 0, 9, -2, -3, -4], [ 0, -2, 16, -6, -8], [ 0, -3, -6, 21, -12], [ 0, -4, -8, -12, 24]])