From Laplacian Eigenvectors to Cuts
A graph cut separates its vertices into two nonempty sets. A useful cut often has relatively few edges crossing between its sides, especially when both sides contain many vertices. The Laplacian offers a way to search for such separations: instead of assigning each vertex directly to one of two groups, first assign it a real number. A second Laplacian eigenvector, called a Fiedler vector, gives these values. Vertices with similar values tend to be linked by edges without paying much squared difference in the vector’s edge energy, so a threshold between values can suggest a cut.
Throughout, \(G=(V,E)\) is a finite, simple, connected graph with \(n=|V|\ge 2\). Its Laplacian is \(\mathbf L=\mathbf D-\mathbf A\), where \(\mathbf D\) is the diagonal degree matrix and \(\mathbf A\) is the adjacency matrix. Since \(\mathbf L\) is real and symmetric, it has real eigenvalues, listed with multiplicity as \(0=\lambda_1<\lambda_2\le\cdots\le\lambda_n\). The strict inequality follows from the earlier result that a connected graph has a one-dimensional Laplacian nullspace. An eigenvector for \(\lambda_2\) is a Fiedler vector. If \(\lambda_2\) has multiplicity greater than one, there is more than one possible choice.
Sorting the coordinates of a Fiedler vector gives a natural family of candidates. If the distinct values are \(a_1<a_2<\cdots<a_r\), choose a threshold strictly between consecutive values. This puts all vertices with values at most \(a_i\) on one side and those with larger values on the other. Tied coordinates stay together under this scalar-threshold rule; splitting a tie requires an additional tie-breaking convention.
Why the Second Eigenvector Is Relevant
Proof. Because \(\mathbf L\) is real and symmetric, choose an orthonormal eigenbasis \(u_1,\ldots,u_n\), with \(u_1\) a constant unit vector and \(u_i\) having eigenvalue \(\lambda_i\). The condition \(\sum_v x_v=0\) says exactly that \(x\) is orthogonal to \(u_1\). Thus \(x=\sum_{i=2}^n c_i u_i\), with at least one \(c_i\ne0\). Orthonormality gives \(x^Tx=\sum_{i=2}^n c_i^2\) and \(x^T\mathbf Lx=\sum_{i=2}^n\lambda_i c_i^2\). Since each \(\lambda_i\ge\lambda_2\), the quotient is at least \(\lambda_2\). Equality holds exactly when every nonzero coefficient \(c_i\) has \(\lambda_i=\lambda_2\), which is precisely the condition that \(x\) lies in the \(\lambda_2\)-eigenspace. \(\square\)
The Laplacian quadratic form is \(x^T\mathbf Lx=\sum_{uv\in E}(x_u-x_v)^2\). Therefore a unit-length Fiedler vector, centered so that its coordinates sum to zero, has the smallest possible edge energy among centered unit vectors. This is a global statement about squared differences, not a promise that every edge has similar endpoint values. If \(\lambda_2\) is small, the total edge energy is small for such a vector, which can make groups of similar values informative.
A centered, nonzero vector must have at least one positive and one negative coordinate: if all its coordinates were nonnegative, a zero sum would force every coordinate to be zero, and the same argument applies if they were all nonpositive. In particular, a Fiedler vector has values on both sides of zero. The split at zero therefore gives a nonempty proper threshold set when the convention is \(S_0=\{v:x_v<0\}\). Other thresholds, especially those between sorted values, can give other candidate cuts.
What a Threshold Cut Measures
There is an exact connection between cuts and Laplacian energy. Write \(\mathbf 1_S\) for the vector that is \(1\) on \(S\) and \(0\) elsewhere, and let \(\mathbf 1\) be the all-ones vector. Center the indicator by defining \(y=\mathbf 1_S-(|S|/n)\mathbf 1\). Its coordinates sum to zero. Subtracting a constant does not change differences across edges, so each edge crossing the cut contributes \(1\) to \(y^T\mathbf Ly\), and every other edge contributes \(0\). Also, direct summation gives \(y^Ty=|S|(n-|S|)/n\). Hence
Applying the theorem to this nonzero centered vector shows that \(\lambda_2\) is at most this quotient for every nonempty proper \(S\). The quotient accounts for both the number of crossing edges and the sizes of the two sides. It is not the cut size alone. A Fiedler vector minimizes the quotient over all real centered vectors, whereas a cut can only supply a particular centered indicator vector. Thresholding takes the eigenvector and converts its real-valued coordinates into a discrete partition. That conversion is useful, but it does not preserve an optimization guarantee for cut size.
Worked Example: A Fiedler Vector on a Three-Vertex Path
Let \(V=\{1,2,3\}\) and \(E=\{12,23\}\). The degree matrix and Laplacian are
Take \(x=(1,0,-1)^T\). Multiplication gives \(\mathbf Lx=(1,0,-1)^T=x\), so \(x\) is an eigenvector with eigenvalue \(1\). The constant vector \((1,1,1)^T\) has eigenvalue \(0\), and \((1,-2,1)^T\) has eigenvalue \(3\), since \(\mathbf L(1,-2,1)^T=(3,-6,3)^T\). These three independent eigenvectors show that the eigenvalues are \(0,1,3\); thus \(x\) is a Fiedler vector.
The sorted values are \(-1,0,1\), at vertices \(3,2,1\), respectively. Threshold \(t=-\tfrac12\) gives \(S_t=\{3\}\), with cut boundary \(\{23\}\), so the cut size is \(1\). Threshold \(t=\tfrac12\) gives \(S_t=\{2,3\}\), with cut boundary \(\{12\}\), again of size \(1\). These are the two nontrivial cuts between consecutive values.
Check: For \(S=\{3\}\), the centered indicator is \((-1/3,-1/3,2/3)^T\). Its squared norm is \(1/9+1/9+4/9=2/3\). Its edge energy is \(0^2+(-1)^2=1\), so its quotient is \(1/(2/3)=3/2\), agreeing with \(n|\partial(S)|/(|S|(n-|S|))=3\cdot1/(1\cdot2)=3/2\). The graph is connected, so every nontrivial cut has at least one crossing edge; the exhibited cut shows the minimum cut size is \(1\).
A Threshold Is Not a Minimum-Cut Certificate
Worked Example: A Balanced Threshold in the Complete Graph
Let \(G=K_4\), with \(V=\{1,2,3,4\}\) and \(E=\{12,13,14,23,24,34\}\). Every vertex has degree \(3\), and \(\mathbf A=J-I\), where \(J\) is the all-ones matrix. Therefore \(\mathbf L=4I-J\). Choose \(x=(-1,-1,1,1)^T\), whose coordinates sum to zero. Since \(Jx=0\), multiplication gives \(\mathbf Lx=(4I-J)x=4x\). Every centered vector is an eigenvector with eigenvalue \(4\), so \(\lambda_2=4\) and \(x\) is a Fiedler vector.
A threshold \(t=0\) gives \(S_t=\{1,2\}\). Its crossing edges are \(13,14,23,24\), so the cut size is \(4\). This is a valid threshold cut, but it is not a minimum cut. To check the minimum, a subset of size \(k\) in \(K_4\) has \(k(4-k)\) crossing edges, because each of its \(k\) vertices is joined to each of the \(4-k\) vertices outside it. For \(k=1,2,3\), these sizes are \(3,4,3\), respectively. Thus the minimum cut size is \(3\), attained by isolating one vertex.
Check: The cut quotient for the threshold set is \(4\cdot4/(2\cdot2)=4\), equal to \(\lambda_2\). For a singleton cut it is \(4\cdot3/(1\cdot3)=4\) as well. The same quotient value is compatible with different cut sizes because the side sizes differ. With scalar thresholds on this particular vector, tied coordinates stay together, so the nontrivial threshold cut is the size-two split. The example shows directly that a threshold partition need not minimize the number of crossing edges.
This distinction matters in applications. A threshold rule must decide where to split; a size-two split, a split at zero, and a split chosen to balance the sides need not coincide. A practical variant sorts all coordinates and evaluates the cuts between consecutive distinct values, then chooses a candidate according to a specified objective. Such a sweep can compare its candidates, but a candidate chosen from the Fiedler ordering is still not automatically a minimum cut. The eigenvector optimizes a continuous Rayleigh quotient, not the discrete cut-size objective.
Repeated Eigenvalues and Choice of Vector
Worked Example: Different Fiedler Vectors on a Star
Let \(V=\{c,a,b,d\}\) and \(E=\{ca,cb,cd\}\), the star with center \(c\). Consider \(x_c=0\), \(x_a=-1\), \(x_b=0\), and \(x_d=1\). For a leaf \(v\), the Laplacian coordinate is \(x_v-x_c=x_v\), so the leaf coordinates of \(\mathbf Lx\) are \(-1,0,1\). At the center, the coordinate is \(3x_c-(x_a+x_b+x_d)=0-(-1+0+1)=0\). Hence \(\mathbf Lx=x\).
To check that eigenvalue \(1\) is the second-smallest, any vector with center coordinate \(0\) and leaf coordinates summing to \(0\) is an eigenvector of eigenvalue \(1\). This space has dimension \(2\). The constant vector has eigenvalue \(0\), and \(z_c=3\), \(z_a=z_b=z_d=-1\) satisfies \(\mathbf Lz=4z\): at the center the coordinate is \(9-(-3)=12\), and at each leaf it is \(-1-3=-4\). These independent eigenvectors account for all four dimensions, so the eigenvalues are \(0,1,1,4\), and \(x\) is a Fiedler vector.
The sorted values are \(-1,0,0,1\). With \(t=-\tfrac12\), the strict-threshold set is \(\{a\}\), and its boundary is \(\{ca\}\), of size \(1\). The two zero-valued vertices remain together under this threshold. Because the eigenvalue \(1\) has multiplicity \(2\), other Fiedler vectors are available; the choice of vector can therefore affect the ordering and the suggested partitions.
Check: The star is connected, so every nontrivial cut has at least one crossing edge, and \(\{a\}\) gives a cut of size \(1\). The edge-energy calculation is \((x_c-x_a)^2+(x_c-x_b)^2+(x_c-x_d)^2=1+0+1=2\). Also \(x^Tx=1+0+1=2\), so the Rayleigh quotient is \(2/2=1\), matching the eigenvalue.
Using the Method with Care
The Fiedler vector is most useful as a structured source of candidate partitions. Its coordinate order reflects a global minimum-energy assignment, while a threshold converts that assignment into two groups. To interpret the result responsibly:
- Check that the graph is connected and has at least two vertices before using the connected-graph definition of \(\lambda_2\) and a Fiedler vector given above. If the graph is disconnected, \(\lambda_2=0\), and its zero-eigenvalue space has dimension greater than one; the connected-graph interpretation does not apply unchanged.
- State the threshold convention and keep tied coordinates together unless a separate tie-breaking rule is specified.
- Compute the actual crossing edges of the proposed cut. Similar vector values alone do not determine the cut size.
- Do not report a threshold result as a minimum cut unless a separate argument verifies that it is minimum.
Common mistake. It is incorrect to identify the second eigenvalue itself with the minimum cut size. In the \(K_4\) example, \(\lambda_2=4\), while the minimum cut size is \(3\). The relevant exact comparison is instead \(\lambda_2\le n|\partial(S)|/(|S|(n-|S|))\) for each nontrivial \(S\). This normalized expression also shows why a small eigenvalue signals a low-energy separation without specifying a minimum cut.
Check Your Understanding
For each question, state any threshold convention or graph assumptions you use.
- Why must a nonzero Fiedler vector of a connected graph have both positive and negative coordinates?
- For \(K_4\), what is the cut size from the threshold \(t=0\) on \(x=(-1,-1,1,1)^T\), and what is the minimum cut size?
- Explain why tied coordinates cannot be separated by a threshold strictly between consecutive distinct values.
- For a nonempty proper set \(S\), why does its centered indicator have Rayleigh quotient \(n|\partial(S)|/(|S|(n-|S|))\)?
- What changes in interpreting a Fiedler vector when \(\lambda_2\) has multiplicity greater than one?