# `sparse.csgraph._laplacian`¶

Laplacian of a compressed-sparse graph

## Module Contents¶

### Functions¶

 `laplacian`(csgraph,normed=False,return_diag=False,use_out_degree=False) Return the Laplacian matrix of a directed graph. `_setdiag_dense`(A,d) `_laplacian_sparse`(graph,normed=False,axis=0) `_laplacian_dense`(graph,normed=False,axis=0)
`laplacian`(csgraph, normed=False, return_diag=False, use_out_degree=False)

Return the Laplacian matrix of a directed graph.

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.
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.

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.

```>>> 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]])
```
`_setdiag_dense`(A, d)
`_laplacian_sparse`(graph, normed=False, axis=0)
`_laplacian_dense`(graph, normed=False, axis=0)