# laplacian_matrix: Graph Laplacian In igraph: Network Analysis and Visualization

 laplacian_matrix R Documentation

## Graph Laplacian

### Description

The Laplacian of a graph.

### Usage

```laplacian_matrix(
graph,
normalized = FALSE,
weights = NULL,
sparse = igraph_opt("sparsematrices")
)
```

### Arguments

 `graph` The input graph. `normalized` Whether to calculate the normalized Laplacian. See definitions below. `weights` An optional vector giving edge weights for weighted Laplacian matrix. If this is `NULL` and the graph has an edge attribute called `weight`, then it will be used automatically. Set this to `NA` if you want the unweighted Laplacian on a graph that has a `weight` edge attribute. `sparse` Logical scalar, whether to return the result as a sparse matrix. The `Matrix` package is required for sparse matrices.

### Details

The Laplacian Matrix of a graph is a symmetric matrix having the same number of rows and columns as the number of vertices in the graph and element (i,j) is d[i], the degree of vertex i if if i==j, -1 if i!=j and there is an edge between vertices i and j and 0 otherwise.

A normalized version of the Laplacian Matrix is similar: element (i,j) is 1 if i==j, -1/sqrt(d[i] d[j]) if i!=j and there is an edge between vertices i and j and 0 otherwise.

The weighted version of the Laplacian simply works with the weighted degree instead of the plain degree. I.e. (i,j) is d[i], the weighted degree of vertex i if if i==j, -w if i!=j and there is an edge between vertices i and j with weight w, and 0 otherwise. The weighted degree of a vertex is the sum of the weights of its adjacent edges.

### Value

A numeric matrix.

### Author(s)

Gabor Csardi csardi.gabor@gmail.com

Other structural.properties: `bfs()`, `component_distribution()`, `connect()`, `constraint()`, `coreness()`, `degree()`, `dfs()`, `diameter()`, `distance_table()`, `edge_density()`, `feedback_arc_set()`, `girth()`, `is_matching()`, `knn()`, `reciprocity()`, `subcomponent()`, `subgraph()`, `topo_sort()`, `transitivity()`, `unfold_tree()`, `which_multiple()`, `which_mutual()`

### Examples

```
g <- make_ring(10)
laplacian_matrix(g)
laplacian_matrix(g, norm = TRUE)
laplacian_matrix(g, norm = TRUE, sparse = FALSE)

```

igraph documentation built on March 7, 2023, 8:11 p.m.