Type at least 2 letters. Enter opens the first result, Esc closes.

    Linear Algebra · Lesson 6 · Eigenvalues and the spectral theorem

    Spectral theorem, Rayleigh quotient, Courant–Fischer and Weyl

    Intermediate 90 min 5 interactive figures 3 videos Colab notebook

    Before this lesson: lesson 05 (eigenvalues, diagonalization) and lesson 04 (Q⊤Q=IQ^\top Q = I); orthogonal projections are in lesson 03. Time: about 90 minutes, plus the notebook.


    Why this matters #

    Symmetric matrices are the most common matrices in ML: covariance matrices, Hessians, kernel (Gram) matrices, graph Laplacians, A⊤AA^\top A. For them, the problems of lesson 05 cannot happen: eigenvalues are real, eigenvectors are orthogonal, and there are always enough of them. The Rayleigh quotient turns eigenvalues into optimization. PCA's first direction, the sharpness of a loss, the Fiedler vector of spectral clustering and the ground-state energy of a quantum system are all a max or a min of a Rayleigh quotient. Courant–Fischer does the same for every eigenvalue. Its corollary, Weyl's inequality, says that symmetric eigenvalues move at most as much as the noise you add.

    1. Predict first #

    2. The picture #

    Start with a diagonal matrix. Take S=diag⁡(3,1)S = \operatorname{diag}(3, 1) and a unit vector x=(cos⁡θ,sin⁡θ)x = (\cos\theta, \sin\theta). Then

    x⊤Sx=3cos⁡2θ+1⋅sin⁡2θ=2+cos⁡2θ.x^\top S x = 3\cos^2\theta + 1\cdot\sin^2\theta = 2 + \cos 2\theta .

    This is a weighted average of the eigenvalues 3 and 1. The weights are cos⁡2θ\cos^2\theta and sin⁡2θ\sin^2\theta; they are not negative and they sum to 1. So the value lies between 1 and 3. The max is on the e1e_1 axis, the min on the e2e_2 axis. SS maps the unit circle to an ellipse with half-axes 3 and 1.

    A general symmetric matrix looks the same in the right axes. S=QΛQ⊤S = Q\Lambda Q^\top means three steps: change to the orthonormal eigen-axes (Q⊤Q^\top), scale each axis (Λ\Lambda), change back (QQ). There is no shear. So the axes of the ellipse are the eigenvectors, and they are perpendicular. In those axes, every value x⊤Sxx^\top S x of a unit vector is again a weighted average of eigenvalues. Almost every result of this lesson follows from this one fact.

    Interactive figure: loading…

    Change aa, bb, cc in S=(abbc)S = \begin{pmatrix} a & b \\ b & c \end{pmatrix}. The violet ellipse is the image of the unit circle. Its axes are always the eigenvectors q1q_1 and q2q_2, at a right angle, with half-lengths ∣λ1∣|\lambda_1| and ∣λ2∣|\lambda_2|. Drag xx: the two faint arrows build SxSx from its pieces along q1q_1 and q2q_2. Compare with a non-symmetric matrix in lesson 05: there the directions that only stretch need not be perpendicular.

    Quick check

    S=(2112)S = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} has eigenvalues 3 and 1. Which values can x⊤Sxx^\top S x take for unit vectors xx?

    3. Definitions and main results #

    Spectral theorem #

    Theorem. Let S∈Rn×nS \in \mathbb{R}^{n\times n} be symmetric: S=S⊤S = S^\top. Then

    S=QΛQ⊤=∑i=1nλiqiqi⊤,S = Q\Lambda Q^\top = \sum_{i=1}^n \lambda_i q_i q_i^\top ,

    where QQ is orthogonal (Q⊤Q=IQ^\top Q = I; its columns qiq_i are orthonormal eigenvectors) and Λ=diag⁡(λ1,…,λn)\Lambda = \operatorname{diag}(\lambda_1, \dots, \lambda_n) is real. Conversely, (QΛQ⊤)⊤=QΛQ⊤(Q\Lambda Q^\top)^\top = Q\Lambda Q^\top. So over R\mathbb{R}: a matrix is orthogonally diagonalizable (diagonalizable with an orthogonal QQ) exactly when it is symmetric.

    The proof has three steps: (1) the eigenvalues are real, (2) eigenvectors for different eigenvalues are orthogonal, (3) there are always nn orthonormal eigenvectors, even when an eigenvalue repeats.

    Step 1: the eigenvalues are real

    First the 2×22\times2 case. For S=(abbc)S = \begin{pmatrix} a & b \\ b & c \end{pmatrix} the characteristic polynomial is p(λ)=λ2−(a+c)λ+(ac−b2)p(\lambda) = \lambda^2 - (a + c)\lambda + (ac - b^2). Its discriminant is

    (a+c)2−4(ac−b2)=a2−2ac+c2+4b2=(a−c)2+4b2 ≥ 0.(a + c)^2 - 4(ac - b^2) = a^2 - 2ac + c^2 + 4b^2 = (a - c)^2 + 4b^2 \ \ge\ 0 .

    A sum of squares is never negative, so both roots are real. The discriminant is 0 only when a=ca = c and b=0b = 0, that is, when S=aIS = aI. Compare with the rotation (0−110)\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} (not symmetric): its polynomial is λ2+1\lambda^2 + 1, with discriminant −4-4 and complex roots ±i\pm i.

    Now any size. A real matrix can have complex eigenvalues (a rotation does). So we cannot assume at the start that λ\lambda is real. We allow a complex eigenpair and then show that λ\lambda is real. Write xˉ\bar x for the complex conjugate.

    1. Let Sx=λxSx = \lambda x with x∈Cnx \in \mathbb{C}^n, x≠0x \ne 0.
    2. Multiply on the left by xˉ⊤\bar x^\top:  xˉ⊤Sx=λ xˉ⊤x\ \bar x^\top S x = \lambda\, \bar x^\top x.
    3. xˉ⊤x=∑i∣xi∣2\bar x^\top x = \sum_i |x_i|^2 is real and positive.
    4. xˉ⊤Sx\bar x^\top S x is real. Its conjugate is x⊤Sxˉx^\top S \bar x (SS is real). This is a 1×11\times1 matrix, so it equals its transpose xˉ⊤S⊤x=xˉ⊤Sx\bar x^\top S^\top x = \bar x^\top S x (here S⊤=SS^\top = S is used).
    5. So λ=xˉ⊤Sx/xˉ⊤x\lambda = \bar x^\top S x / \bar x^\top x is a real number divided by a positive number: real.
    6. Then S−λIS - \lambda I is a real singular matrix, so it has a real nonzero null vector: a real eigenvector.

    Step 2: eigenvectors of different eigenvalues are orthogonal

    Let Sx=λxSx = \lambda x and Sy=μySy = \mu y with λ≠μ\lambda \ne \mu. Compute y⊤Sxy^\top S x in two ways:

    λ y⊤x=y⊤(Sx)=(S⊤y)⊤x=(Sy)⊤x=μ y⊤x.\lambda\, y^\top x = y^\top (Sx) = (S^\top y)^\top x = (Sy)^\top x = \mu\, y^\top x .

    So (λ−μ) y⊤x=0(\lambda - \mu)\, y^\top x = 0, and as λ≠μ\lambda \ne \mu, y⊤x=0y^\top x = 0.

    Step 3: there are always enough eigenvectors

    Step 2 does not cover repeated eigenvalues. In lesson 05, (0100)\begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} has the eigenvalue 0 twice but only one eigenvector direction. A symmetric matrix never has this problem. The key fact is:

    Key fact. If Sq1=λ1q1Sq_1 = \lambda_1 q_1, then SS maps the subspace q1⊥q_1^\perp (all vectors perpendicular to q1q_1) into itself. Such a subspace is called invariant.

    Why. Let x⊥q1x \perp q_1. Then q1⊤(Sx)=(Sq1)⊤x=λ1 q1⊤x=0q_1^\top (Sx) = (Sq_1)^\top x = \lambda_1\, q_1^\top x = 0. So Sx⊥q1Sx \perp q_1 too. The first equality uses S⊤=SS^\top = S.

    Interactive figure: loading…

    Move the slider and watch the violet arrow. SS is a symmetric 3×33\times3 matrix and q1q_1 is its top eigenvector. The aqua patch is the plane q1⊥q_1^\perp. As xx walks around the unit circle of this plane, SxSx never leaves the plane: the image of the circle is an ellipse inside the plane. Switch to not symmetric: q1q_1 is still an eigenvector of MM, but MxMx now leaves the plane (the dashed magenta segment is its height q1⋅Mxq_1 \cdot Mx).

    So, inside the plane q1⊥q_1^\perp, SS is again a symmetric map, now on a space with one dimension less. Repeat the argument there. For n=3n = 3 the story is 3→2→13 \to 2 \to 1:

    1. Find one real unit eigenvector q1q_1 (step 1 says it exists).
    2. The plane q1⊥q_1^\perp is mapped into itself. In an orthonormal basis u1,u2u_1, u_2 of this plane, SS acts like the 2×22\times2 symmetric matrix B=U⊤SUB = U^\top S U, with U=[u1 u2]U = [u_1\ u_2].
    3. BB has a real unit eigenvector cc (step 1 again, now for size 2). Then q2=Ucq_2 = Uc is an eigenvector of SS inside the plane.
    4. The line in the plane perpendicular to q2q_2 is mapped into itself. Any unit vector q3q_3 on it is the third eigenvector. Now q1,q2,q3q_1, q_2, q_3 are orthonormal.

    Example. S=(210120005)S = \begin{pmatrix} 2 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 5 \end{pmatrix}. Here Se3=5e3Se_3 = 5e_3, so q1=e3q_1 = e_3 and λ1=5\lambda_1 = 5. The plane q1⊥q_1^\perp is the xyxy-plane, with U=[e1 e2]U = [e_1\ e_2] and B=U⊤SU=(2112)B = U^\top S U = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}. Its eigenvectors are (1,1)/2(1, 1)/\sqrt2 (eigenvalue 3) and (1,−1)/2(1, -1)/\sqrt2 (eigenvalue 1). So q2=(1,1,0)/2q_2 = (1, 1, 0)/\sqrt2 and q3=(1,−1,0)/2q_3 = (1, -1, 0)/\sqrt2, and S=5q1q1⊤+3q2q2⊤+1q3q3⊤S = 5q_1q_1^\top + 3q_2q_2^\top + 1q_3q_3^\top.

    Step 3 for every size (induction)

    Induction on nn; for n=1n = 1 there is nothing to prove.

    1. Take a real unit eigenvector q1q_1, Sq1=λ1q1Sq_1 = \lambda_1 q_1 (step 1). By the key fact, W=q1⊥W = q_1^\perp is invariant.
    2. Let the columns of U∈Rn×(n−1)U \in \mathbb{R}^{n\times(n-1)} be an orthonormal basis of WW. The columns of SUSU lie in WW, and UU⊤UU^\top is the orthogonal projector onto WW, so SU=UU⊤SU=U(U⊤SU)SU = UU^\top SU = U(U^\top S U).
    3. B=U⊤SUB = U^\top S U is symmetric of size n−1n - 1. By induction, B=PΛ′P⊤B = P\Lambda' P^\top with PP orthogonal.
    4. Then S(UP)=UBP=(UP)Λ′S(UP) = UBP = (UP)\Lambda': the n−1n - 1 columns of UPUP are orthonormal eigenvectors in WW ((UP)⊤UP=P⊤P=I(UP)^\top UP = P^\top P = I).
    5. With q1q_1 they form the orthogonal matrix Q=[q1, UP]Q = [q_1,\ UP], and SQ=QΛSQ = Q\Lambda. ■\blacksquare

    So a symmetric matrix is never defective: for every eigenvalue, the geometric multiplicity equals the algebraic multiplicity. Inside an eigenspace of dimension >1> 1, any orthonormal basis works, so QQ is not unique.

    The spectral decomposition: a sum of projectors

    S=QΛQ⊤S = Q\Lambda Q^\top can be read column by column (the outer-product view of lesson 01):

    Sx=QΛQ⊤x=∑iλi qi (qi⊤x).Sx = Q\Lambda Q^\top x = \sum_i \lambda_i\, q_i\,(q_i^\top x) .

    In words: project xx onto each eigenvector, scale each piece by its eigenvalue, add up. Each Pi=qiqi⊤P_i = q_i q_i^\top is the orthogonal projector onto the line of qiq_i (lesson 03). The projectors satisfy Pi2=PiP_i^2 = P_i, PiPj=0P_iP_j = 0 for i≠ji \ne j, and ∑iPi=I\sum_i P_i = I.

    Check with numbers. S=(2112)S = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}, with q1=(1,1)/2q_1 = (1, 1)/\sqrt2 for λ1=3\lambda_1 = 3 and q2=(1,−1)/2q_2 = (1, -1)/\sqrt2 for λ2=1\lambda_2 = 1:

    3P1+1P2=3⋅12(1111)+1⋅12(1−1−11)=(1.5+0.51.5−0.51.5−0.51.5+0.5)=(2112).\begin{aligned} 3P_1 + 1P_2 &= 3\cdot\tfrac12\begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} + 1\cdot\tfrac12\begin{pmatrix} 1 & -1 \\ -1 & 1 \end{pmatrix} \\ &= \begin{pmatrix} 1.5 + 0.5 & 1.5 - 0.5 \\ 1.5 - 0.5 & 1.5 + 0.5 \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}. \end{aligned}

    Also P1+P2=IP_1 + P_2 = I and P1P2=0P_1P_2 = 0, as promised.

    Quick check

    A real symmetric 2×22\times2 matrix SS has a repeated eigenvalue. What can you conclude?

    Rayleigh quotient #

    For symmetric SS and x≠0x \ne 0, the Rayleigh quotient is

    R(x)=x⊤Sxx⊤x.R(x) = \frac{x^\top S x}{x^\top x} .

    It depends only on the direction of xx: R(cx)=R(x)R(cx) = R(x) for every c≠0c \ne 0. If Sq=λqSq = \lambda q, then R(q)=λR(q) = \lambda. From now on the eigenvalues are sorted: λ1≥λ2≥⋯≥λn\lambda_1 \ge \lambda_2 \ge \dots \ge \lambda_n.

    Theorem (Rayleigh). λn≤R(x)≤λ1\lambda_n \le R(x) \le \lambda_1 for all x≠0x \ne 0. The max λ1\lambda_1 is reached exactly at the nonzero vectors of the λ1\lambda_1-eigenspace, and the min λn\lambda_n exactly at those of the λn\lambda_n-eigenspace.

    Proof.

    1. Put y=Q⊤xy = Q^\top x (the coordinates of xx in the eigenbasis). Then x⊤x=y⊤yx^\top x = y^\top y and x⊤Sx=y⊤Λyx^\top S x = y^\top \Lambda y, so R(x)=∑iλiyi2/∑iyi2R(x) = \sum_i \lambda_i y_i^2 / \sum_i y_i^2.
    2. This is a weighted average of the λi\lambda_i, with weights wi=yi2/∥y∥2≥0w_i = y_i^2/\|y\|^2 \ge 0 that sum to 1. So λn≤R(x)≤λ1\lambda_n \le R(x) \le \lambda_1.
    3. R(x)=λ1R(x) = \lambda_1 exactly when all the weight sits on indices with λi=λ1\lambda_i = \lambda_1, that is, when xx is in the λ1\lambda_1-eigenspace. The same holds for λn\lambda_n. ■\blacksquare

    When λmax⁡\lambda_{\max} is repeated, the maximizers of RR are all nonzero vectors of the whole λmax⁡\lambda_{\max}-eigenspace, not one eigenvector direction (the same holds for λmin⁡\lambda_{\min}).

    Theorem (critical points). The gradient of RR is

    ∇R(x)=2x⊤x(Sx−R(x) x).\nabla R(x) = \frac{2}{x^\top x}\big(Sx - R(x)\,x\big).

    So the critical points of RR (the points with ∇R=0\nabla R = 0) are exactly the eigenvectors. An eigenvector qq with λn<λ<λ1\lambda_n < \lambda < \lambda_1 is a saddle point: RR goes up in one direction and down in another.

    Proof.

    1. Quotient rule, with ∇(x⊤Sx)=2Sx\nabla(x^\top S x) = 2Sx and ∇(x⊤x)=2x\nabla(x^\top x) = 2x:
    ∇R=2Sx (x⊤x)−(x⊤Sx) 2x(x⊤x)2=2x⊤x(Sx−R(x) x).\nabla R = \frac{2Sx\, (x^\top x) - (x^\top S x)\, 2x}{(x^\top x)^2} = \frac{2}{x^\top x}\big(Sx - R(x)\,x\big).
    1. ∇R(x)=0  ⟺  Sx=R(x) x  ⟺  \nabla R(x) = 0 \iff Sx = R(x)\,x \iff xx is an eigenvector (with eigenvalue R(x)R(x)).
    2. Saddle. Let q,q1,qnq, q_1, q_n be unit eigenvectors for λ,λ1,λn\lambda, \lambda_1, \lambda_n; they are orthogonal. For t≠0t \ne 0: R(q+tq1)=(λ+t2λ1)/(1+t2)>λR(q + tq_1) = (\lambda + t^2\lambda_1)/(1 + t^2) > \lambda and R(q+tqn)=(λ+t2λn)/(1+t2)<λR(q + tq_n) = (\lambda + t^2\lambda_n)/(1 + t^2) < \lambda. ■\blacksquare
    Interactive figure: loading…

    Drag xx around the circle and watch the chart. For a unit xx, R(x)=x⋅SxR(x) = x \cdot Sx is the part of SxSx along xx (thick violet). The sideways part Sx−R(x)xSx - R(x)x (dashed magenta) is 12∇R\tfrac12\nabla R: it points to where RR grows. It vanishes only at the eigenvectors, where the chart has its max λ1\lambda_1 and its min λ2\lambda_2. The bar shows the weights (q1⋅x)2(q_1 \cdot x)^2 and (q2⋅x)2(q_2 \cdot x)^2 of the weighted average. This is the "sideways part" of lesson 05, now with a meaning: a gradient.

    More precisely, R(qkcos⁡t+qisin⁡t)=λk+(λi−λk)sin⁡2tR(q_k\cos t + q_i \sin t) = \lambda_k + (\lambda_i - \lambda_k)\sin^2 t for orthonormal eigenvectors qk,qiq_k, q_i. So from qkq_k, RR goes up toward every eigenvector with a larger eigenvalue and down toward every one with a smaller eigenvalue.

    Quick check

    S=diag⁡(3,2,1)S = \operatorname{diag}(3, 2, 1). What kind of critical point of the Rayleigh quotient is x=e2x = e_2?

    The eigenvalue error is quadratic. Let qq be a unit eigenvector (Sq=λqSq = \lambda q) and dd a unit vector with d⊥qd \perp q. Then

    R(q+εd)−λ=ε2 (R(d)−λ)1+ε2,R(q + \varepsilon d) - \lambda = \frac{\varepsilon^2\,\big(R(d) - \lambda\big)}{1 + \varepsilon^2},

    because the cross term d⊤Sq=λ d⊤qd^\top S q = \lambda\, d^\top q is 0. So an eigenvector error of size ε\varepsilon gives an eigenvalue error of size ε2\varepsilon^2. This is why power iteration on a symmetric matrix gets the eigenvalue at the rate ∣λ2/λ1∣2k|\lambda_2/\lambda_1|^{2k}: twice as many correct digits as the vector.

    Restriction to a subspace. Let VV have orthonormal columns that span a subspace UU. For x=Vcx = Vc, R(x)=c⊤(V⊤SV)c/c⊤cR(x) = c^\top (V^\top S V) c / c^\top c. So the min and the max of RR over UU are the smallest and the largest eigenvalues of the small symmetric matrix V⊤SVV^\top S V.

    The generalized symmetric eigenproblem

    In LDA, CCA and the vibration of structures, the problem is Sx=λBxSx = \lambda Bx with SS symmetric and BB symmetric positive definite (lesson 07). The generalized Rayleigh quotient x⊤Sx/x⊤Bxx^\top S x / x^\top B x plays the role of RR.

    1. Factor B=LL⊤B = LL^\top (Cholesky, lesson 07) and put y=L⊤xy = L^\top x. Then Sx=λBxSx = \lambda Bx becomes (L−1SL−⊤) y=λy(L^{-1} S L^{-\top})\,y = \lambda y, an ordinary symmetric eigenproblem.
    2. So the eigenvalues are real, and the eigenvectors can be chosen BB-orthonormal: xi⊤Bxj=0x_i^\top B x_j = 0 for i≠ji \ne j and xi⊤Bxi=1x_i^\top B x_i = 1.
    3. max⁡x≠0x⊤Sx/x⊤Bx=λmax⁡\max_{x \ne 0} x^\top S x / x^\top B x = \lambda_{\max}, the largest generalized eigenvalue.

    Fisher's LDA maximizes w⊤SBw/w⊤SWww^\top S_B w / w^\top S_W w (between-class over within-class scatter): a generalized Rayleigh quotient. In SciPy: scipy.linalg.eigh(S, B).

    Courant–Fischer #

    The Rayleigh theorem gives λ1\lambda_1 and λn\lambda_n. What about the eigenvalues in the middle?

    First in words, for a 3×33\times3 matrix. Take any plane UU through 0. On this plane, RR has a smallest value: the weakest direction of UU. Different planes have different weakest values. Courant–Fischer says: λ2\lambda_2 is the best worst value of RR over all planes,

    λ2=max⁡planes U min⁡x∈U, x≠0R(x).\lambda_2 = \max_{\text{planes } U}\ \min_{x \in U,\, x \ne 0} R(x).

    Two facts give this.

    • The plane span⁡(q1,q2)\operatorname{span}(q_1, q_2) reaches λ2\lambda_2. On it, RR is a weighted average of λ1\lambda_1 and λ2\lambda_2, so R≥λ2R \ge \lambda_2, with equality at q2q_2.
    • No plane does better. Let W=span⁡(q2,q3)W = \operatorname{span}(q_2, q_3). On WW, RR is a weighted average of λ2\lambda_2 and λ3\lambda_3, so R≤λ2R \le \lambda_2. Two planes through 0 in R3\mathbb{R}^3 always share at least a line. Take x≠0x \ne 0 on that line: min⁡UR≤R(x)≤λ2\min_U R \le R(x) \le \lambda_2.
    Interactive figure: loading…

    Turn and tilt the plane UU. Here S=diag⁡(3,2,1)S = \operatorname{diag}(3, 2, 1), so the eigenvectors are the axes. The blue plane is W=span⁡(q2,q3)W = \operatorname{span}(q_2, q_3), where R≤2R \le 2. However you move the orange plane UU, it shares a magenta line with WW, and the readout shows min⁡UR≤R(x)≤λ2=2\min_U R \le R(x) \le \lambda_2 = 2. Press best plane to reach min⁡UR=2\min_U R = 2. Switch to a line (dim⁡U=1\dim U = 1): 1+2=31 + 2 = 3 is not more than 3, and the line usually meets WW only at 0.

    Why two subspaces must meet. For subspaces U,WU, W of Rn\mathbb{R}^n, the dimension formula dim⁡(U∩W)=dim⁡U+dim⁡W−dim⁡(U+W)\dim(U \cap W) = \dim U + \dim W - \dim(U + W) and dim⁡(U+W)≤n\dim(U + W) \le n give

    dim⁡(U∩W) ≥ dim⁡U+dim⁡W−n.\dim(U \cap W) \ \ge\ \dim U + \dim W - n .

    If dim⁡U+dim⁡W>n\dim U + \dim W > n, they share a nonzero vector. For two planes in R3\mathbb{R}^3: 2+2−3=12 + 2 - 3 = 1.

    Theorem (Courant–Fischer). For symmetric SS with λ1≥⋯≥λn\lambda_1 \ge \dots \ge \lambda_n and k=1,…,nk = 1, \dots, n:

    λk=max⁡dim⁡U=k min⁡x∈U, x≠0R(x),\lambda_k = \max_{\dim U = k}\ \min_{x \in U,\, x \ne 0} R(x),
    λk=min⁡dim⁡U=n−k+1 max⁡x∈U, x≠0R(x).\lambda_k = \min_{\dim U = n-k+1}\ \max_{x \in U,\, x \ne 0} R(x).

    The max–min is reached at U=span⁡(q1,…,qk)U = \operatorname{span}(q_1, \dots, q_k), the min–max at U=span⁡(qk,…,qn)U = \operatorname{span}(q_k, \dots, q_n). In words: every kk-dimensional subspace has a weakest direction, and λk\lambda_k is the best possible weakest value. For k=1k = 1 and k=nk = n this is the Rayleigh theorem.

    Proof of the max–min form
    1. (≥\ge) Take U∗=span⁡(q1,…,qk)U_* = \operatorname{span}(q_1, \dots, q_k). For x∈U∗x \in U_*, R(x)R(x) is a weighted average of λ1,…,λk\lambda_1, \dots, \lambda_k, which are all ≥λk\ge \lambda_k, and R(qk)=λkR(q_k) = \lambda_k. So min⁡U∗R=λk\min_{U_*} R = \lambda_k.
    2. (≤\le) Let UU be any kk-dimensional subspace, and W=span⁡(qk,…,qn)W = \operatorname{span}(q_k, \dots, q_n), of dimension n−k+1n - k + 1. Then dim⁡(U∩W)≥k+(n−k+1)−n=1\dim(U \cap W) \ge k + (n - k + 1) - n = 1, so some x≠0x \ne 0 lies in both. As x∈Wx \in W, R(x)R(x) is a weighted average of λk,…,λn\lambda_k, \dots, \lambda_n, so R(x)≤λkR(x) \le \lambda_k. Hence min⁡UR≤R(x)≤λk\min_U R \le R(x) \le \lambda_k for every UU.
    3. Steps 1 and 2 give equality. ■\blacksquare
    The min–max form, and Cauchy interlacing

    The min–max form follows from the max–min form applied to −S-S.

    1. The eigenvalues of −S-S in decreasing order are −λn≥−λn−1≥⋯≥−λ1-\lambda_n \ge -\lambda_{n-1} \ge \dots \ge -\lambda_1. So the jj-th largest eigenvalue of −S-S is −λn−j+1-\lambda_{n-j+1}.
    2. The Rayleigh quotient of −S-S is −R(x)-R(x). The max–min form for −S-S with j=n−k+1j = n - k + 1 gives −λk=max⁡dim⁡U=n−k+1min⁡x∈U(−R(x))-\lambda_k = \max_{\dim U = n-k+1} \min_{x \in U} \big(-R(x)\big).
    3. min⁡(−R)=−max⁡R\min(-R) = -\max R and max⁡(−f)=−min⁡f\max(-f) = -\min f, so −λk=−min⁡dim⁡U=n−k+1max⁡x∈UR(x)-\lambda_k = -\min_{\dim U = n-k+1} \max_{x \in U} R(x). Multiply by −1-1. ■\blacksquare

    A corollary: Cauchy interlacing. Let V∈Rn×mV \in \mathbb{R}^{n\times m} have orthonormal columns and B=V⊤SVB = V^\top S V (for example, a principal m×mm\times m submatrix of SS). Then λk(S)≥λk(B)≥λk+n−m(S)\lambda_k(S) \ge \lambda_k(B) \ge \lambda_{k+n-m}(S) for k=1,…,mk = 1, \dots, m. The first inequality follows from the max–min form, because the subspaces {Vc}\{Vc\} are only some of the kk-dimensional subspaces; the second from the min–max form in the same way.

    Quick check

    S=diag⁡(5,3,1)S = \operatorname{diag}(5, 3, 1). You may choose any plane UU through 0 in R3\mathbb{R}^3. What is the largest possible value of min⁡x∈UR(x)\min_{x \in U} R(x)?

    Weyl's inequality #

    Theorem (Weyl). Let A,E∈Rn×nA, E \in \mathbb{R}^{n\times n} be symmetric, with the eigenvalues of AA, EE and A+EA + E each sorted in decreasing order. For every kk:

    λk(A)+λn(E)≤λk(A+E)≤λk(A)+λ1(E),\lambda_k(A) + \lambda_n(E) \le \lambda_k(A + E) \le \lambda_k(A) + \lambda_1(E),

    and therefore

    ∣λk(A+E)−λk(A)∣≤∥E∥2.|\lambda_k(A + E) - \lambda_k(A)| \le \|E\|_2 .

    Here ∥E∥2\|E\|_2 is the spectral norm, the largest stretch max⁡x≠0∥Ex∥/∥x∥\max_{x\ne0}\|Ex\|/\|x\|. For symmetric EE it equals max⁡i∣λi(E)∣\max_i |\lambda_i(E)|.

    Proof.

    1. For every x≠0x \ne 0: RA+E(x)=RA(x)+RE(x)R_{A+E}(x) = R_A(x) + R_E(x), and λn(E)≤RE(x)≤λ1(E)\lambda_n(E) \le R_E(x) \le \lambda_1(E) (Rayleigh theorem for EE).
    2. Fix a kk-dimensional UU and take the min over x∈Ux \in U of each part: min⁡URA+λn(E)≤min⁡URA+E≤min⁡URA+λ1(E)\min_U R_A + \lambda_n(E) \le \min_U R_{A+E} \le \min_U R_A + \lambda_1(E).
    3. This holds for every UU, so it also holds after the max over all kk-dimensional UU (if f(U)≤g(U)f(U) \le g(U) for every UU, then max⁡f≤max⁡g\max f \le \max g). Courant–Fischer turns the three max–mins into λk(A)+λn(E)\lambda_k(A) + \lambda_n(E), λk(A+E)\lambda_k(A + E) and λk(A)+λ1(E)\lambda_k(A) + \lambda_1(E).
    4. −∥E∥2≤λn(E)-\|E\|_2 \le \lambda_n(E) and λ1(E)≤∥E∥2\lambda_1(E) \le \|E\|_2 give the bound with absolute values. ■\blacksquare

    Four facts about the bound:

    • It is tight: E=εIE = \varepsilon I moves every eigenvalue by exactly ε\varepsilon.
    • It needs symmetry: (0100)+(00ε0)\begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} + \begin{pmatrix} 0 & 0 \\ \varepsilon & 0 \end{pmatrix} has eigenvalues ±ε\pm\sqrt{\varepsilon} (the characteristic polynomial is λ2−ε\lambda^2 - \varepsilon), but ∥E∥2=ε\|E\|_2 = \varepsilon. For ε=10−6\varepsilon = 10^{-6} the eigenvalues move by 10−310^{-3}, a thousand times ∥E∥2\|E\|_2.
    • It says nothing about eigenvectors. With a small eigengap they can turn far (Davis–Kahan, lesson 17).
    • Singular values: ∣σk(A+E)−σk(A)∣≤∥E∥2|\sigma_k(A + E) - \sigma_k(A)| \le \|E\|_2 holds for any matrices of the same shape, even rectangular. Lesson 17 proves it from this theorem.
    Interactive figure: loading…

    Move ε\varepsilon and watch the paths stay in their cones. AA is a fixed 4×44 \times 4 symmetric matrix with eigenvalues 3,2.2,1.8,0.43, 2.2, 1.8, 0.4, and EE is symmetric with ∥E∥2=1\|E\|_2 = 1. Each coloured path is λk(A+εE)\lambda_k(A + \varepsilon E); each shaded cone is Weyl's interval λk(A)±ε\lambda_k(A) \pm \varepsilon. Press E = I to touch the cone edges, and New random E to see a typical perturbation use less of its budget. Then switch to not symmetric: the eigenvalues ±ε\pm\sqrt{\varepsilon} leave the cone at once.

    Answers to section 1. (1) The eigenvalues are 3, with q1=(1,1)/2q_1 = (1, 1)/\sqrt2, and 1, with q2=(1,−1)/2q_2 = (1, -1)/\sqrt2. The max of x⊤Sxx^\top Sx over unit xx is 3, at ±q1\pm q_1; the min is 1, at ±q2\pm q_2. (2) Symmetric: no. Weyl allows a move of at most 0.010.01. Not symmetric: yes. A=(0100)A = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} plus E=(000.010)E = \begin{pmatrix} 0 & 0 \\ 0.01 & 0 \end{pmatrix} has eigenvalues ±0.1\pm 0.1.

    4. Worked example #

    (a) Spectral decomposition. S=(2112)S = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}.

    1. p(λ)=λ2−4λ+3=(λ−3)(λ−1)p(\lambda) = \lambda^2 - 4\lambda + 3 = (\lambda - 3)(\lambda - 1), so λ1=3\lambda_1 = 3, λ2=1\lambda_2 = 1.
    2. S−3I=(−111−1)S - 3I = \begin{pmatrix} -1 & 1 \\ 1 & -1 \end{pmatrix} has null vector (1,1)(1, 1), so q1=(1,1)/2q_1 = (1, 1)/\sqrt2. S−I=(1111)S - I = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} has null vector (1,−1)(1, -1), so q2=(1,−1)/2q_2 = (1, -1)/\sqrt2.
    3. q1⋅q2=(1−1)/2=0q_1 \cdot q_2 = (1 - 1)/2 = 0: orthogonal, as step 2 of the proof promised.
    4. Projector sum: 3P1+1P2=S3P_1 + 1P_2 = S (computed in section 3).

    (b) Rayleigh quotient. At x=(1,2)x = (1, 2):

    1. Sx=(2+2, 1+4)=(4,5)Sx = (2 + 2,\ 1 + 4) = (4, 5), so x⊤Sx=1⋅4+2⋅5=14x^\top S x = 1\cdot4 + 2\cdot5 = 14 and x⊤x=5x^\top x = 5. So R=14/5=2.8R = 14/5 = 2.8.
    2. In eigen-coordinates, y=Q⊤x=((1+2)/2, (1−2)/2)=(3/2,−1/2)y = Q^\top x = \big((1 + 2)/\sqrt2,\ (1 - 2)/\sqrt2\big) = (3/\sqrt2, -1/\sqrt2).
    3. The weights are y12/∥y∥2=4.5/5=0.9y_1^2/\|y\|^2 = 4.5/5 = 0.9 and y22/∥y∥2=0.5/5=0.1y_2^2/\|y\|^2 = 0.5/5 = 0.1.
    4. R=0.9⋅3+0.1⋅1=2.8R = 0.9 \cdot 3 + 0.1 \cdot 1 = 2.8. It is close to 3 because xx is close to q1q_1. (In the Rayleigh figure, x=(1,2)/5x = (1, 2)/\sqrt5 is the direction θ≈63.4°\theta \approx 63.4°.)

    (c) Courant–Fischer in 3-D. D=diag⁡(3,2,1)D = \operatorname{diag}(3, 2, 1), k=2k = 2.

    1. On the plane span⁡(e1,e3)\operatorname{span}(e_1, e_3), RR is an average of 3 and 1. Its min is 1, at e3e_3.
    2. On span⁡(e1,e2)\operatorname{span}(e_1, e_2), RR is an average of 3 and 2. Its min is 2=λ22 = \lambda_2, at e2e_2.
    3. No plane does better: every plane meets span⁡(e2,e3)\operatorname{span}(e_2, e_3) in at least a line (2+2>32 + 2 > 3), and there R≤2R \le 2.

    (d) Weyl, a tight case and a loose case, both with ∥E∥2=0.1\|E\|_2 = 0.1:

    • E=(00.10.10)=0.1(q1q1⊤−q2q2⊤)E = \begin{pmatrix} 0 & 0.1 \\ 0.1 & 0 \end{pmatrix} = 0.1(q_1q_1^\top - q_2q_2^\top): S+E=(21.11.12)S + E = \begin{pmatrix} 2 & 1.1 \\ 1.1 & 2 \end{pmatrix} has eigenvalues 2±1.12 \pm 1.1, that is, 3.1 and 0.9. Both moved by exactly 0.1, because EE has the same eigenvectors as SS.
    • E=diag⁡(0.1,−0.1)E = \operatorname{diag}(0.1, -0.1): S+E=(2.1111.9)S + E = \begin{pmatrix} 2.1 & 1 \\ 1 & 1.9 \end{pmatrix} has eigenvalues 2±0.12+1=2±1.012 \pm \sqrt{0.1^2 + 1} = 2 \pm \sqrt{1.01}, that is, 3.004993.00499 and 0.995010.99501. They moved by only 0.0050.005. To first order an eigenvalue moves by qk⊤Eqkq_k^\top E q_k, which is 0 here (q1⊤Eq1=(0.1−0.1)/2=0q_1^\top E q_1 = (0.1 - 0.1)/2 = 0). Weyl is a worst-case bound.
    Quick check

    S=(2112)S = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} and EE is symmetric with ∥E∥2=0.01\|E\|_2 = 0.01. Which number can be an eigenvalue of S+ES + E?

    5. In code #

    NumPy checks the hand computations above. The notebook for this lesson has these cells and the exercises.

    import numpy as np
    
    S = np.array([[2., 1.], [1., 2.]])
    lam, Q = np.linalg.eigh(S)      # for symmetric matrices; eigenvalues in ASCENDING order
    print(lam)                                                        # [1. 3.]
    print(np.allclose(Q.T @ Q, np.eye(2)), np.allclose(Q @ np.diag(lam) @ Q.T, S))   # True True
    
    # the spectral decomposition as a sum of projectors: S = 3 P1 + 1 P2
    P1 = np.outer([1, 1], [1, 1]) / 2; P2 = np.outer([1, -1], [1, -1]) / 2
    print(np.allclose(3 * P1 + 1 * P2, S), np.allclose(P1 + P2, np.eye(2)), np.allclose(P1 @ P2, 0))  # True True True
    
    x = np.array([1., 2.])
    print(x @ S @ x, x @ x)                        # 14.0 5.0, so R(x) = 2.8
    y = Q.T @ x                                    # coordinates in the eigenbasis
    w = y**2 / (y @ y)                             # weights, in the order of lam = [1, 3]
    print(np.round(w, 12), round(lam @ w, 12))     # [0.1 0.9] 2.8
    
    # Courant–Fischer in 3-D, for D = diag(3, 2, 1): R restricted to a plane is the
    # Rayleigh quotient of V^T D V. Here it is diagonal, so its smallest entry is min R.
    D = np.diag([3., 2., 1.])
    for cols in ([0, 2], [0, 1]):
        V = np.eye(3)[:, cols]                     # orthonormal basis of the plane
        print(cols, np.diag(V.T @ D @ V))          # [0, 2] [3. 1.]   then   [0, 1] [3. 2.]
    
    # Weyl: two perturbations with ||E||_2 = 0.1
    for E in (np.array([[0, .1], [.1, 0]]), np.array([[.1, 0], [0, -.1]])):
        print(round(np.linalg.norm(E, 2), 12), np.round(np.linalg.eigvalsh(S + E), 5))
        # 0.1 [0.9 3.1]   then   0.1 [0.99501 3.00499]
    
    # Without symmetry there is no such bound
    N = np.array([[0., 1.], [1e-4, 0.]])           # [[0,1],[0,0]] + E with ||E||_2 = 1e-4
    print(np.round(np.linalg.eigvals(N).real, 6))  # [ 0.01 -0.01]: moved 100 times ||E||_2
    

    6. Where it shows up #

    • PCA. The first principal direction maximizes the variance u⊤Σuu^\top \Sigma u over unit uu. This is a Rayleigh quotient of the covariance Σ\Sigma, so the answer is the top eigenvector. Weyl: for a sample covariance Σ^=Σ+E\hat\Sigma = \Sigma + E, each estimated variance λk(Σ^)\lambda_k(\hat\Sigma) is within ∥E∥2\|E\|_2 of the true one. Principal directions with close eigenvalues can still mix (lesson 17).
    • Loss landscapes. The sharpness λmax⁡(H)\lambda_{\max}(H) of a Hessian is a max Rayleigh quotient. At a critical point of the loss, λmin⁡(H)<0\lambda_{\min}(H) < 0 means it is not a minimum (it is a saddle or a maximum): along the eigenvector of λmin⁡\lambda_{\min} the curvature is negative, so the loss decreases.
    • Graphs. A graph Laplacian LL has eigenvalues 0=μ1≤μ2≤…0 = \mu_1 \le \mu_2 \le \dots (sorted ascending, by convention) with 1\mathbf{1} in the null space. Then μ2=min⁡RL(x)\mu_2 = \min R_L(x) over x⊥1x \perp \mathbf{1}, and the minimizer (the Fiedler vector) splits the graph: spectral clustering and GNNs (lesson 19).
    • Classification. Fisher's linear discriminant analysis (LDA) maximizes a generalized Rayleigh quotient w⊤SBw/w⊤SWww^\top S_B w / w^\top S_W w (see the folded block in section 3).
    • ML for science. Normal modes of a structure solve the generalized symmetric eigenproblem Kx=ω2MxKx = \omega^2 Mx (KK, MM symmetric, MM positive definite). In quantum mechanics the ground-state energy is min⁡ψRH(ψ)\min_\psi R_H(\psi) (the variational principle). Neural-network wavefunctions such as FermiNet minimize this Rayleigh quotient (estimated by Monte Carlo sampling), and every trial state gives an upper bound.
    • Numerics. A backward-stable symmetric eigensolver returns the exact eigenvalues of S+ES + E with ∥E∥2\|E\|_2 about u∥S∥2u\|S\|_2 (u≈1.1×10−16u \approx 1.1 \times 10^{-16}) times a modest factor. By Weyl, every computed eigenvalue has an absolute error of that size: large eigenvalues are accurate, tiny ones may have no correct digits.

    7. Common mistakes #

    • Using the spectral theorem for a non-symmetric matrix. (1203)\begin{pmatrix} 1 & 2 \\ 0 & 3 \end{pmatrix} has eigenvectors (1,0)(1, 0) and (1,1)(1, 1): not orthogonal.
    • Maximizing x⊤Axx^\top A x for non-symmetric AA with λmax⁡(A)\lambda_{\max}(A). Only the symmetric part counts: x⊤Ax=x⊤12(A+A⊤)xx^\top A x = x^\top \tfrac12(A + A^\top) x.
    • Thinking the maximizer of RR is unique. It is the whole λ1\lambda_1-eigenspace.
    • Calling every critical point of RR a max or a min. Middle eigenvectors are saddles.
    • Index conventions. Here λ1≥⋯≥λn\lambda_1 \ge \dots \ge \lambda_n, but np.linalg.eigh returns ascending order. In Courant–Fischer the min–max is over dimension n−k+1n - k + 1, not n−kn - k.
    • Weyl misuse. Comparing eigenvalues without sorting both spectra the same way; applying it to non-symmetric matrices; concluding that eigenvectors are stable too.
    • np.linalg.eig on a symmetric matrix. It does not use the symmetry: it may return complex dtype, and with a repeated eigenvalue the eigenvectors need not be orthogonal. Use eigh.

    8. Check yourself #

    1. Is (1203)\begin{pmatrix} 1 & 2 \\ 0 & 3 \end{pmatrix} orthogonally diagonalizable?
      AnswerNo. QΛQ⊤Q\Lambda Q^\top with real Λ\Lambda is always symmetric, and this matrix is not. Its eigenvectors (1,0)(1, 0) and (1,1)(1, 1) have dot product 1.
    2. S=diag⁡(4,4,1)S = \operatorname{diag}(4, 4, 1). Which xx maximize R(x)R(x)?
      AnswerAll nonzero x∈span⁡(e1,e2)x \in \operatorname{span}(e_1, e_2), with R=4R = 4: the whole λmax⁡\lambda_{\max}-eigenspace.
    3. S=diag⁡(3,2,1)S = \operatorname{diag}(3, 2, 1). Starting at e2e_2, in which directions does RR go up and down?
      AnswerR(e2cos⁡t+e1sin⁡t)=2+sin⁡2tR(e_2\cos t + e_1\sin t) = 2 + \sin^2 t goes up toward e1e_1; R(e2cos⁡t+e3sin⁡t)=2−sin⁡2tR(e_2\cos t + e_3\sin t) = 2 - \sin^2 t goes down toward e3e_3. So e2e_2 is a saddle point.
    4. AA is symmetric with eigenvalues 10,5,110, 5, 1, and EE is symmetric with ∥E∥2=0.3\|E\|_2 = 0.3. Where can λ2(A+E)\lambda_2(A + E) be? Can it reach the ends?
      AnswerIn [4.7,5.3][4.7, 5.3] by Weyl. Yes: E=±0.3IE = \pm 0.3 I reaches each end.
    5. Why is the Rayleigh-quotient eigenvalue estimate more accurate than the eigenvector it uses?
      Answer∇R=0\nabla R = 0 at eigenvectors, so the first-order error vanishes: R(q+εd)−λ=ε2(R(d)−λ)/(1+ε2)R(q + \varepsilon d) - \lambda = \varepsilon^2(R(d) - \lambda)/(1 + \varepsilon^2) for unit d⊥qd \perp q.
    6. In the Courant–Fischer proof, why must a kk-dimensional UU meet span⁡(qk,…,qn)\operatorname{span}(q_k, \dots, q_n)?
      AnswerThe dimensions add up to k+(n−k+1)=n+1>nk + (n - k + 1) = n + 1 > n, so the intersection has dimension at least 1.
    7. In the proof that q1⊥q_1^\perp is invariant, where is S⊤=SS^\top = S used? Give a matrix where q1q_1 is an eigenvector but q1⊥q_1^\perp is not invariant.
      AnswerIn q1⊤(Sx)=(S⊤q1)⊤x=(Sq1)⊤xq_1^\top (Sx) = (S^\top q_1)^\top x = (Sq_1)^\top x. Example: M=(1102)M = \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix} has Me1=e1Me_1 = e_1, but e2⊥e1e_2 \perp e_1 goes to Me2=(1,2)Me_2 = (1, 2), which is not perpendicular to e1e_1.
    Recall cardsAnswer in your head first, then reveal. Add the cards to your review deck to see them again just before you would forget.
    1. State the spectral theorem for a real symmetric matrix SS.

    2. Why are the eigenvalues of a symmetric 2×22\times2 matrix (abbc)\begin{pmatrix} a & b \\ b & c \end{pmatrix} real?

    3. Why are eigenvectors of a symmetric matrix for different eigenvalues orthogonal?

    4. What is the key step that gives a symmetric matrix enough eigenvectors?

    5. Write (2112)\begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} as a sum of projectors.

    6. What is the range of the Rayleigh quotient R(x)=x⊤Sx/x⊤xR(x) = x^\top Sx/x^\top x, and why?

    7. What are the critical points of the Rayleigh quotient?

    8. Courant–Fischer in words, for λ2\lambda_2 of a 3×33\times3 symmetric matrix.

    9. State Weyl's inequality.

    10. Why does Weyl's inequality need symmetry? Give the example.

    Open the review →

    9. Interview angle #

    • "Why are the eigenvalues of a covariance matrix real and its principal components orthogonal?" — It is symmetric, so the spectral theorem applies.
    • "Maximize x⊤Sxx^\top S x subject to ∥x∥=1\|x\| = 1." — Lagrangian: 2Sx−2μx=02Sx - 2\mu x = 0, so Sx=μxSx = \mu x and the value is μ\mu; take λmax⁡\lambda_{\max} (symmetrize first if SS is not symmetric).
    • "Your covariance estimate has error ∥E∥2=0.05\|E\|_2 = 0.05. How far off can the top variance be? And the top PC?" — At most 0.050.05 (Weyl); the PC depends on the eigengap (Davis–Kahan).
    • "How does deflation find the second eigenvector?" — S−λ1q1q1⊤=∑i≥2λiqiqi⊤S - \lambda_1 q_1 q_1^\top = \sum_{i \ge 2} \lambda_i q_i q_i^\top.

    10. Practice #

    The notebook for this lesson runs in Colab. It has four exercises, each with a check cell and a folded solution:

    1. Rayleigh sweep: compute RR on a grid of directions in the plane and recover λmax⁡\lambda_{\max}, λmin⁡\lambda_{\min} and their eigenvectors.
    2. Top-kk eigenpairs of a symmetric matrix by power iteration plus deflation S←S−λqq⊤S \leftarrow S - \lambda q q^\top.
    3. Courant–Fischer by search: the best "weakest direction" over many random kk-dimensional subspaces approaches λk\lambda_k from below.
    4. Weyl check: compare the eigenvalue shifts with ∥E∥2\|E\|_2 for random symmetric perturbations, and find a non-symmetric case that breaks the bound.

    11. Watch and read #

    The first half proves real eigenvalues and orthogonal eigenvectors, as in section 3.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play
    The second part covers saddle points and the Rayleigh quotient.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play
    The end of the lecture shows interlacing and the Weyl inequalities.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play