Graph Laplacian
Degree minus adjacency: the matrix that turns "neighbours should agree" into arithmetic, so connectivity becomes eigenvalues you can compute.
Why Does This Exist?
Graph fundamentals turned edges into an adjacency matrix and showed powers count walks. But adjacency answers "how do I get there", not "how tightly does this hold together" or "what assignment varies least across edges". Those need a matrix whose energy measures disagreement. The Laplacian is that matrix, and it is the object behind spectral clustering, Laplacian smoothing in graph networks, and semi-supervised label spreading. The spectral consequences (Fiedler cuts, normalized variants, smoothing dynamics) get their full treatment in spectral views; this page builds the object itself.
The one idea you need first
For degrees (diagonal) and adjacency , has each degree on its diagonal and per edge, so every row sums to zero and the constant vector is always in its null space. That zero row sum is the source of every theorem below.
Think of It Like This
Tension in a net of ropes
Knot a rope net: each knot's tension equals how far it sits from the average of its tied neighbours, times its number of ties. A knot dead-centered among its neighbours feels nothing; a knot dragged away from them feels pull proportional to the disagreement.
The Laplacian computes exactly that tension pattern for any assignment of positions to knots. Assignments where neighbours agree have low total tension; the all-equal assignment has zero. Spectral methods then ask which non-flat assignment has the least tension, and that answer cuts the net where it is weakest.
Where the analogy stops: ropes pull in physical space, while the Laplacian acts on any signal (labels, features, voltages) living on the nodes.
How It Actually Works
For nodes with adjacency and degree matrix :
In plain words: diagonal holds degrees, off-diagonal holds per edge (or minus the weight for weighted graphs). is symmetric for undirected graphs, positive semi-definite, with smallest eigenvalue on the all-ones vector.
The disagreement identity
For any signal assigning one number per node:
Each edge contributes the squared gap across it. Consequences: always (positive semi-definite); it is zero exactly when is constant on each component; minimizing it asks for the smoothest non-constant signal, which is why it regularizes semi-supervised learning and why message passing smooths.
Worked example
Triangle . Every degree is :
Row sums: on every row, confirming the constant vector maps to zero. Trace is .
Take signal . Edge gaps: , , . Sum: . By matrix: (check row 1: ), then . Both routes agree. The signal disagrees most across edge , and the quadratic form prices exactly that.
Watch Out For
Using the unnormalized Laplacian on heavy-tailed graphs
Minimizing minimizes raw cut edges with no penalty for tiny pieces, so on social or citation graphs the optimal cut lops off one low-degree node. You asked for two communities and got a singleton plus everything else.
Symptom: recursive bisection peels singletons repeatedly. Fix: normalize by volume ( or random-walk), which divides cut size by cluster volume, as the spectral views page details.
Testing zero eigenvalues with exact equality
The zero eigenvalue returns as , and exact tests then report a connected graph as disconnected or miss components. Never let a tiny negative value flow into a square root either.
Symptom: component counts flicker between runs, or nan appears from sqrt of a small negative. Fix: count with vals < 1e-8 and clamp negatives to zero before roots.
The Quick Version
- : degrees on the diagonal, minus 1 per edge, zero row sums.
- sums squared gaps across edges, so it measures disagreement.
- is symmetric positive semi-definite with eigenvalue 0 on constants.
- On the triangle, signal scores exactly 6 by edges and by matrix.
- Zero eigenvalue multiplicity counts components; the rest measures cohesion.
- Normalize on uneven graphs, and never test floating eigenvalues for exact zero.