#set document(title: "3.7 Multiple Eigenvalues", author: "Jiří Lebl") #set page(width: 8.5in, height: auto, margin: 1in) #import "@preview/cetz:0.5.2" #set text(font: ("STIX Two Text", "Libertinus Serif", "New Computer Modern"), size: 10.5pt, lang: "en") #show math.equation: set text(font: ("STIX Two Math", "New Computer Modern Math")) #set par(justify: true, leading: 0.62em, spacing: 0.9em) #set enum(spacing: 1.1em) // room between list items so tall inline fractions don't collide #set list(spacing: 1.1em) #set table(stroke: 0.5pt + rgb("#c7ccd3")) #let BLUE = rgb("#183B6F") // brand navy — section bars + example/solution labels (white on navy 11.09:1) #let ORANGE = rgb("#A94509") // brand primary-700 — AA-safe deep orange for TEXT (5.93:1 on white; raw brand #F37021 is 2.94:1 and must never carry text) #let RED = rgb("#DC2626") // brand error-600 #let GREEN = rgb("#059669") // brand success-600 (decoration only; small green text uses green-text #007942) #show heading.where(level: 1): it => block(width: 100%, above: 0pt, below: 16pt, fill: gradient.linear(BLUE, rgb("#2C5AA0")), inset: (x: 14pt, y: 12pt), radius: 3pt, text(fill: white, weight: "bold", size: 19pt, it.body)) #show heading.where(level: 2): it => block(width: 100%, above: 18pt, below: 10pt, fill: BLUE, inset: (x: 10pt, y: 6pt), radius: 2pt, text(fill: white, weight: "bold", size: 12pt, it.body)) #show heading.where(level: 3): it => text(fill: ORANGE, weight: "bold", size: 12.5pt, it.body) #show heading.where(level: 4): it => text(fill: BLUE, weight: "bold", size: 10.5pt, it.body) #let examplebox(label, title, body) = block(width: 100%, breakable: true, fill: rgb("#EFF1F5"), stroke: 0.5pt + rgb("#CFDDF0"), radius: 4pt, inset: 10pt, above: 12pt, below: 12pt)[ #block(below: 6pt)[#box(fill: BLUE, inset: (x: 6pt, y: 2pt), radius: 2pt, text(fill: white, weight: "bold", size: 8.5pt, label)) #h(0.4em) #strong[#title]] #body] // rail = decorative left rule (raw brand token); labelcolor = AA-safe label text shade #let notebox(label, rail, labelcolor, tint, body) = block(width: 100%, breakable: true, fill: tint, stroke: (left: 3pt + rail), inset: (left: 10pt, rest: 8pt), radius: (right: 4pt), above: 11pt, below: 11pt)[ #text(fill: labelcolor, weight: "bold", size: 7.5pt, tracking: 0.5pt)[#upper(label)] #linebreak() #body] #let solutionbox(body) = block(above: 4pt, below: 8pt)[ #text(fill: BLUE, weight: "bold", size: 8.5pt)[Solution] #linebreak() #body] #let figph(msg) = block(width: 100%, height: 60pt, fill: rgb("#f6f7f9"), stroke: (paint: rgb("#c7ccd3"), dash: "dashed"), radius: 4pt, inset: 10pt)[ #align(center + horizon, text(fill: rgb("#889"), style: "italic", size: 9pt, msg))] // Standardize inlined figure sizes: measure the natural CeTZ canvas, then scale to a // consistent envelope (aspect-aware; see build_typst.py FIG_* constants). Unlike the // print preamble, dimensions are FLOORED: in an editor a user can trim a figure to a // degenerate 1-D shape (a bare line), and w/h or tw/w would then divide by zero. #let _STD_W = 3.5 #let _WIDE_W = 5.6 #let _MAX_H = 3.4 #let _ASPECT_WIDE = 2.2 #let _UPSCALE_MAX = 1.15 #let stdfig(body) = context { let m = measure(body) let w = calc.max(m.width / 1in, 0.01) let h = calc.max(m.height / 1in, 0.01) let tw = if w / h > _ASPECT_WIDE { _WIDE_W } else { _STD_W } let s = calc.min(tw / w, _MAX_H / h, _UPSCALE_MAX) align(center, box(scale(x: s * 100%, y: s * 100%, reflow: true, body))) } #show figure: set block(breakable: false) #set figure(gap: 8pt) #show figure.caption: set text(size: 8.5pt, fill: rgb("#555")) == 3.7#h(0.6em)Multiple Eigenvalues It may very well happen that a matrix has some “repeated” eigenvalues. That is, the characteristic equation #math.equation(block: false, alt: "det open parenthesis A minus λ I close parenthesis equals 0")[$det ( A − λ I ) = 0$] may have repeated roots. As we have said before, this is actually unlikely to happen for a random matrix. If we take a small perturbation of #math.equation(block: false, alt: "A")[$A$] (we change the entries of #math.equation(block: false, alt: "A")[$A$] slightly), then we will get a matrix with distinct eigenvalues. As any system we will want to solve in practice is an approximation to reality anyway, it is not indispensable to know how to solve these corner cases. On the other hand, these cases do come up in applications from time to time. Furthermore, if we have distinct but very close eigenvalues, the behavior is similar to that of repeated eigenvalues, and so understanding that case will give us insight into what is going on. Lebl works out the defective matrix A = \[\[3, 1\], \[0, 3\]\] later in this section; here its lower-right entry carries a slider, so the eigenvalues are 3 and 3 + p. At p = 0 the matrix is defective: there is a single eigendirection, \[1, 0\], and every trajectory turns onto it. Nudge p to 0.1 and there are genuinely two eigendirections, \[1, 0\] and \[1, 0.1\] — yet the portrait barely changes, which is exactly this paragraph's second claim. Keep dragging and the two directions separate into an ordinary node. At p = −3 the second eigenvalue is 0 and the equilibria fill a whole line through the origin; below that the portrait becomes a saddle. {"functions":\[{"color":"\#6b3fa0","domain":null,"expression":"","expression2":"","id":"pp-defective","inequality":"lt","lineDash":\[\],"lineWidth":2,"matrix":\["3","1","0","3+p"\],"mode":"phase-plane","seeds":\[{"x":1.4,"y":0.5},{"x":0.35,"y":1.45},{"x":-1.1,"y":1},{"x":-1.4,"y":-0.5},{"x":-0.35,"y":-1.45},{"x":1.1,"y":-1}\],"tMax":10,"tMin":-10,"variable":"x","visible":true}\],"grid":{"axisColor":"\#333333","gridColor":"\#cccccc","majorSpacing":1,"minorGridColor":"\#eeeeee","showAxes":true,"showLabels":true},"parameters":\[{"id":"lebl-3-7-p","label":"Perturbation of the lower-right entry (eigenvalues 3 and 3 + p)","max":6,"min":-6,"name":"p","step":0.1,"value":0}\],"title":"Perturbing a defective matrix: eigenvalues 3 and 3 + p","version":1,"viewport":{"centerX":0,"centerY":0,"scale":70}} === Geometric Multiplicity Take the diagonal matrix #math.equation(block: true, alt: "A equals [ 3, 0; 0, 3 ]")[$A = [ 3 & 0 \ 0 & 3 ]$] #math.equation(block: false, alt: "A")[$A$] has an eigenvalue #math.equation(block: false, alt: "3")[$3$] of multiplicity #math.equation(block: false, alt: "2")[$2$]. We call the multiplicity of the eigenvalue in the characteristic equation the algebraic multiplicity. In this case, there also exist #math.equation(block: false, alt: "2")[$2$] linearly independent eigenvectors, #math.equation(block: false, alt: "[ 1; 0 ]")[$[ 1 \ 0 ]$] and #math.equation(block: false, alt: "[ 0; 1 ]")[$[ 0 \ 1 ]$] corresponding to the eigenvalue #math.equation(block: false, alt: "3")[$3$]. This means that the so-called geometric multiplicity of this eigenvalue is also #math.equation(block: false, alt: "2")[$2$]. In all the theorems where we required a matrix to have #math.equation(block: false, alt: "n")[$n$] distinct eigenvalues, we only really needed to have #math.equation(block: false, alt: "n")[$n$] linearly independent eigenvectors. For example, #math.equation(block: false, alt: "x → equals A x →")[$arrow(x) = A arrow(x)$] has the general solution #math.equation(block: true, alt: "x → equals c sub 1 [ 1; 0 ] e to the power 3 t plus c sub 2 [ 0; 1 ] e to the power 3 t .")[$arrow(x) = c_(1) [ 1 \ 0 ] e^(3 t) + c_(2) [ 0 \ 1 ] e^(3 t) .$] Let us restate the theorem about real eigenvalues. In the following theorem we will repeat eigenvalues according to (algebraic) multiplicity. So for the above matrix #math.equation(block: false, alt: "A")[$A$], we would say that it has eigenvalues #math.equation(block: false, alt: "3")[$3$] and #math.equation(block: false, alt: "3")[$3$]. #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ Take #math.equation(block: false, alt: "x → equals P x →")[$arrow(x) = P arrow(x)$]. Suppose the matrix P is #math.equation(block: false, alt: "n times n")[$n × n$], has n real eigenvalues (not necessarily distinct), #math.equation(block: false, alt: "λ sub 1 , ⋯ , λ sub n")[$λ_(1) , ⋯ , λ_(n)$]and there are #math.equation(block: false, alt: "n")[$n$] linearly independent corresponding eigenvectors #math.equation(block: false, alt: "v sub 1 → , ⋯ , v sub n →")[$arrow(v_(1)) , ⋯ , arrow(v_(n))$]. Then the general solution to #math.equation(block: false, alt: "x → prime equals P x →")[$arrow(x)^(′) = P arrow(x)$] can be written as: #math.equation(block: true, alt: "x → equals c sub 1 v sub 1 → e to the power λ sub 1 t plus c sub 2 v sub 2 → e to the power λ sub 2 t plus times plus c sub n v sub n → e to the power λ sub n t")[$arrow(x) = c_(1) arrow(v_(1)) e^(λ_(1) t) + c_(2) arrow(v_(2)) e^(λ_(2) t) + · + c_(n) arrow(v_(n)) e^(λ_(n) t)$] ] The#emph[geometric multiplicity] of an eigenvalue of algebraic multiplicity n is equal to the number of corresponding linearly independent eigenvectors. The geometric multiplicity is always less than or equal to the algebraic multiplicity. We have handled the case when these two multiplicities are equal. If the geometric multiplicity is equal to the algebraic multiplicity, then we say the eigenvalue is #emph[complete]. In other words, the hypothesis of the theorem could be stated as saying that if all the eigenvalues of #math.equation(block: false, alt: "P")[$P$] are complete, then there are #math.equation(block: false, alt: "n")[$n$] linearly independent eigenvectors and thus we have the given general solution. If the geometric multiplicity of an eigenvalue is #math.equation(block: false, alt: "2")[$2$] or greater, then the set of linearly independent eigenvectors is not unique up to multiples as it was before. For example, for the diagonal matrix #math.equation(block: false, alt: "A equals [ 3, 0; 0, 3 ]")[$A = [ 3 & 0 \ 0 & 3 ]$] we could also pick eigenvectors #math.equation(block: false, alt: "[ 1; 1 ]")[$[ 1 \ 1 ]$] and #math.equation(block: false, alt: "[ 1; minus 1 ]")[$[ 1 \ − 1 ]$], or in fact any pair of two linearly independent vectors. The number of linearly independent eigenvectors corresponding to #math.equation(block: false, alt: "λ")[$λ$] is the number of free variables we obtain when solving #math.equation(block: false, alt: "A v → equals λ v →")[$A arrow(v) = λ arrow(v)$]. We pick specific values for those free variables to obtain eigenvectors. If you pick different values, you may get different eigenvectors. === Defective Eigenvalues If an #math.equation(block: false, alt: "n times n")[$n × n$] matrix has less than n linearly independent eigenvectors, it is said to be deficient. Then there is at least one eigenvalue with an algebraic multiplicity that is higher than its geometric multiplicity. We call this eigenvalue #emph[defective]and the difference between the two multiplicities we call the #emph[defect]. #examplebox("Example 1")[][ The matrix #math.equation(block: true, alt: "[ 3, 1; 0, 3 ]")[$[ 3 & 1 \ 0 & 3 ]$] has an eigenvalue 3 of algebraic multiplicity 2. Let us try to compute eigenvectors. #math.equation(block: true, alt: "[ 0, 1; 0, 0 ] [ v sub 1; v sub 2 ] equals 0 →")[$[ 0 & 1 \ 0 & 0 ] [ v_(1) \ v_(2) ] = arrow(0)$] #solutionbox[ We must have that #math.equation(block: false, alt: "v sub 2 equals 0")[$v_(2) = 0$]. Hence any eigenvector is of the form #math.equation(block: false, alt: "[ v sub 1; 0 ]")[$[ v_(1) \ 0 ]$]. Any two such vectors are linearly dependent, and hence the geometric multiplicity of the eigenvalue is 1. Therefore, the defect is 1, and we can no longer apply the eigenvalue method directly to a system of ODEs with such a coefficient matrix. Roughly, the key observation is that if #math.equation(block: false, alt: "λ")[$λ$] is an eigenvalue of #math.equation(block: false, alt: "A")[$A$] of algebraic multiplicity #math.equation(block: false, alt: "m")[$m$], then we can find certain #math.equation(block: false, alt: "m")[$m$] linearly independent vectors solving #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis to the power k v → equals 0 →")[$( A − λ I )^(k) arrow(v) = arrow(0)$] for various powers #math.equation(block: false, alt: "k")[$k$]. We will call these #emph[generalized eigenvectors]. Let us continue with the example #math.equation(block: false, alt: "A equals [ 3, 1; 0, 3 ]")[$A = [ 3 & 1 \ 0 & 3 ]$] and the equation #math.equation(block: false, alt: "x → equals A x →")[$arrow(x) = A arrow(x)$]. We have an eigenvalue #math.equation(block: false, alt: "λ equals 3")[$λ = 3$] of (algebraic) multiplicity 2 and defect 1. We have found one eigenvector #math.equation(block: false, alt: "v sub 1 → equals [ 1; 0 ]")[$arrow(v_(1)) = [ 1 \ 0 ]$]. We have the solution #math.equation(block: true, alt: "1; 0")[$1 \ 0$] We are now stuck, we get no other solutions from standard eigenvectors. But we need two linearly independent solutions to find the general solution of the equation. In this case, let us try (in the spirit of repeated roots of the characteristic equation for a single equation) another solution of the form #math.equation(block: true, alt: "x sub 2 → equals open parenthesis v sub 2 → plus v sub 1 → t close parenthesis e to the power 3 t")[$arrow(x_(2)) = ( arrow(v_(2)) + arrow(v_(1)) t ) e^(3 t)$] We differentiate to get #math.equation(block: true, alt: "x → sub 2 prime equals v → sub 1 e to the power 3 t plus 3 open parenthesis v → sub 2 plus v → sub 1 t close parenthesis e to the power 3 t equals open parenthesis 3 v → sub 2 plus v → sub 1 close parenthesis e to the power 3 t plus 3 v → sub 1 t e to the power 3 t .")[$arrow(x)_(2)^(′) = arrow(v)_(1) e^(3 t) + 3 ( arrow(v)_(2) + arrow(v)_(1) t ) e^(3 t) = ( 3 arrow(v)_(2) + arrow(v)_(1) ) e^(3 t) + 3 arrow(v)_(1) t e^(3 t) .$] As we are assuming that #math.equation(block: false, alt: "x → sub 2")[$arrow(x)_(2)$] is a solution, #math.equation(block: false, alt: "x → sub 2 prime")[$arrow(x)_(2)^(′)$] must equal #math.equation(block: false, alt: "A x → sub 2")[$A arrow(x)_(2)$]. So let’s compute #math.equation(block: false, alt: "A x → sub 2")[$A arrow(x)_(2)$]: #math.equation(block: true, alt: "A x → sub 2 equals A open parenthesis v → sub 2 plus v → sub 1 t close parenthesis e to the power 3 t equals A v → sub 2 e to the power 3 t plus A v → sub 1 t e to the power 3 t .")[$A arrow(x)_(2) = A ( arrow(v)_(2) + arrow(v)_(1) t ) e^(3 t) = A arrow(v)_(2) e^(3 t) + A arrow(v)_(1) t e^(3 t) .$] By looking at the coefficients of #math.equation(block: false, alt: "e to the power 3 t")[$e^(3 t)$] and #math.equation(block: false, alt: "t e to the power 3 t")[$t e^(3 t)$] we see #math.equation(block: false, alt: "3 v → sub 2 plus v → sub 1 equals A v → sub 2")[$3 arrow(v)_(2) + arrow(v)_(1) = A arrow(v)_(2)$] and #math.equation(block: false, alt: "3 v → sub 1 equals A v → sub 1")[$3 arrow(v)_(1) = A arrow(v)_(1)$]. This means that #math.equation(block: true, alt: "open parenthesis A minus 3 I close parenthesis v → sub 2 equals v → sub 1 , and open parenthesis A minus 3 I close parenthesis v → sub 1 equals 0 → .")[$( A − 3 I ) arrow(v)_(2) = arrow(v)_(1) , #h(2em) "and" #h(2em) ( A − 3 I ) arrow(v)_(1) = arrow(0) .$] Therefore, #math.equation(block: false, alt: "x → sub 2")[$arrow(x)_(2)$] is a solution if these two equations are satisfied. The second equation is satisfied if #math.equation(block: false, alt: "v → sub 1")[$arrow(v)_(1)$] is an eigenvector, and we found the eigenvector above, so let #math.equation(block: false, alt: "v → sub 1 equals [ 1; 0 ]")[$arrow(v)_(1) = [ 1 \ 0 ]$]. So, if we can find a #math.equation(block: false, alt: "v → sub 2")[$arrow(v)_(2)$] that solves #math.equation(block: false, alt: "open parenthesis A minus 3 I close parenthesis v → sub 2 equals v → sub 1")[$( A − 3 I ) arrow(v)_(2) = arrow(v)_(1)$], then we are done. This is just a bunch of linear equations to solve and we are by now very good at that. Let us solve #math.equation(block: false, alt: "open parenthesis A minus 3 I close parenthesis v → sub 2 equals v → sub 1")[$( A − 3 I ) arrow(v)_(2) = arrow(v)_(1)$]. Write #math.equation(block: true, alt: "[ 0, 1; 0, 0 ] [ a; b ] equals [ 1; 0 ] .")[$[ 0 & 1 \ 0 & 0 ] [ a \ b ] = [ 1 \ 0 ] .$] By inspection we see that letting #math.equation(block: false, alt: "a equals 0")[$a = 0$] (#math.equation(block: false, alt: "a")[$a$] could be anything in fact) and #math.equation(block: false, alt: "b equals 1")[$b = 1$] does the job. Hence we can take #math.equation(block: false, alt: "v → sub 2 equals [ 0; 1 ]")[$arrow(v)_(2) = [ 0 \ 1 ]$]. Our general solution to #math.equation(block: false, alt: "x → prime equals A x →")[$arrow(x)^(′) = A arrow(x)$] is #math.equation(block: true, alt: "x → equals c sub 1 [ 1; 0 ] e to the power 3 t plus c sub 2 open parenthesis [ 0; 1 ] plus [ 1; 0 ] t close parenthesis e to the power 3 t equals [ c sub 1 e to the power 3 t plus c sub 2 t e to the power 3 t; c sub 2 e to the power 3 t ] .")[$arrow(x) = c_(1) [ 1 \ 0 ] e^(3 t) + c_(2) ( [ 0 \ 1 ] + [ 1 \ 0 ] t ) e^(3 t) = [ c_(1) e^(3 t) + c_(2) t e^(3 t) \ c_(2) e^(3 t) ] .$] Let us check that we really do have the solution. First #math.equation(block: false, alt: "x 1 ′ equals c sub 1 3 e to the power 3 t plus c sub 2 e to the power 3 t plus 3 c sub 2 t e to the power 3 t equals 3 x sub 1 plus x sub 2")[$x_(1)^(′) = c_(1) 3 e^(3 t) + c_(2) e^(3 t) + 3 c_(2) t e^(3 t) = 3 x_(1) + x_(2)$]. Good. Now #math.equation(block: false, alt: "x 2 ′ equals 3 c sub 2 e to the power 3 t equals 3 x sub 2")[$x_(2)^(′) = 3 c_(2) e^(3 t) = 3 x_(2)$]. Good. ] ] Note that the system #math.equation(block: false, alt: "x → prime equals A x →")[$arrow(x)^(′) = A arrow(x)$] has a simpler solution since #math.equation(block: false, alt: "A")[$A$] is a so-called upper triangular matrix, that is every entry below the diagonal is zero. In particular, the equation for #math.equation(block: false, alt: "x sub 2")[$x_(2)$] does not depend on #math.equation(block: false, alt: "x sub 1")[$x_(1)$]. Mind you, not every defective matrix is triangular. #notebox("Your Turn", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ Solve #math.equation(block: false, alt: "x → prime equals [ 3, 1; 0, 3 ] x →")[$arrow(x)^(′) = [ 3 & 1 \ 0 & 3 ] arrow(x)$] by first solving for #math.equation(block: false, alt: "x sub 2")[$x_(2)$] and then for #math.equation(block: false, alt: "x sub 1")[$x_(1)$] independently. Check that you got the same solution as we did above. ] Let us describe the general algorithm. Suppose that #math.equation(block: false, alt: "λ")[$λ$] is an eigenvalue of multiplicity #math.equation(block: false, alt: "2")[$2$], defect #math.equation(block: false, alt: "1")[$1$]. First find an eigenvector #math.equation(block: false, alt: "v sub 1 →")[$arrow(v_(1))$] of #math.equation(block: false, alt: "λ")[$λ$]. Then, find a vector #math.equation(block: false, alt: "v sub 2 →")[$arrow(v_(2))$] such that #math.equation(block: true, alt: "open parenthesis A minus λ I close parenthesis v sub 2 → equals v sub 1 →")[$( A − λ I ) arrow(v_(2)) = arrow(v_(1))$] This gives us two linearly independent solutions #math.equation(block: true, alt: "x sub 1 → equals v sub 1 → e to the power λ t; x sub 2 → equals open parenthesis v sub 2 → plus v sub 1 → t close parenthesis e to the power λ t")[$arrow(x_(1)) = arrow(v_(1)) e^(λ t) \ arrow(x_(2)) = ( arrow(v_(2)) + arrow(v_(1)) t ) e^(λ t)$] #examplebox("Example 2")[][ Consider the system #math.equation(block: true, alt: "x → prime equals [ 2, minus 5, 0; 0, 2, 0; minus 1, 4, 1 ] x → .")[$arrow(x)^(′) = [ 2 & − 5 & 0 \ 0 & 2 & 0 \ − 1 & 4 & 1 ] arrow(x) .$] Compute the eigenvalues, #solutionbox[ #math.equation(block: true, alt: "0 equals det open parenthesis A minus λ I close parenthesis equals det open parenthesis [ 2 minus λ, minus 5, 0; 0, 2 minus λ, 0; minus 1, 4, 1 minus λ ] close parenthesis equals open parenthesis 2 minus λ close parenthesis squared open parenthesis 1 minus λ close parenthesis .")[$0 = det ( A − λ I ) = det ( [ 2 − λ & − 5 & 0 \ 0 & 2 − λ & 0 \ − 1 & 4 & 1 − λ ] ) = ( 2 − λ )^(2) ( 1 − λ ) .$] The eigenvalues are 1 and 2, where 2 has multiplicity 2. We leave it to the reader to find that #math.equation(block: false, alt: "[ 0; 0; 1 ]")[$[ 0 \ 0 \ 1 ]$] is an eigenvector for the eigenvalue #math.equation(block: false, alt: "λ equals 1")[$λ = 1$]. Let’s focus on #math.equation(block: false, alt: "λ equals 2")[$λ = 2$]. We compute eigenvectors: #math.equation(block: true, alt: "0 → equals open parenthesis A minus 2 I close parenthesis v → equals [ 0, minus 5, 0; 0, 0, 0; minus 1, 4, minus 1 ] [ v sub 1; v sub 2; v sub 3 ] .")[$arrow(0) = ( A − 2 I ) arrow(v) = [ 0 & − 5 & 0 \ 0 & 0 & 0 \ − 1 & 4 & − 1 ] [ v_(1) \ v_(2) \ v_(3) ] .$] The first equation says that #math.equation(block: false, alt: "v sub 2 equals 0")[$v_(2) = 0$], so the last equation is #math.equation(block: false, alt: "minus v sub 1 minus v sub 3 equals 0")[$− v_(1) − v_(3) = 0$]. Let #math.equation(block: false, alt: "v sub 3")[$v_(3)$] be the free variable to find that #math.equation(block: false, alt: "v sub 1 equals minus v sub 3")[$v_(1) = − v_(3)$]. Perhaps let #math.equation(block: false, alt: "v sub 3 equals minus 1")[$v_(3) = − 1$] to find an eigenvector #math.equation(block: false, alt: "[ 1; 0; minus 1 ]")[$[ 1 \ 0 \ − 1 ]$]. Problem is that setting #math.equation(block: false, alt: "v sub 3")[$v_(3)$] to anything else just gets multiples of this vector and so we have a defect of 1. Let #math.equation(block: false, alt: "v → sub 1")[$arrow(v)_(1)$] be the eigenvector and let’s look for a generalized eigenvector #math.equation(block: false, alt: "v → sub 2")[$arrow(v)_(2)$]: #math.equation(block: true, alt: "open parenthesis A minus 2 I close parenthesis v → sub 2 equals v → sub 1 ,")[$( A − 2 I ) arrow(v)_(2) = arrow(v)_(1) ,$] or #math.equation(block: true, alt: "[ 0, minus 5, 0; 0, 0, 0; minus 1, 4, minus 1 ] [ a; b; c ] equals [ 1; 0; minus 1 ] ,")[$[ 0 & − 5 & 0 \ 0 & 0 & 0 \ − 1 & 4 & − 1 ] [ a \ b \ c ] = [ 1 \ 0 \ − 1 ] ,$] where we used #math.equation(block: false, alt: "a")[$a$], #math.equation(block: false, alt: "b")[$b$], #math.equation(block: false, alt: "c")[$c$] as components of #math.equation(block: false, alt: "v → sub 2")[$arrow(v)_(2)$] for simplicity. The first equation says #math.equation(block: false, alt: "minus 5 b equals 1")[$− 5 b = 1$] so #math.equation(block: false, alt: "b equals the fraction minus 1 over 5")[$b = frac(− 1, 5)$]. The second equation says nothing. The last equation is #math.equation(block: false, alt: "minus a plus 4 b minus c equals minus 1")[$− a + 4 b − c = − 1$], or #math.equation(block: false, alt: "a plus the fraction 4 over 5 plus c equals 1")[$a + frac(4, 5) + c = 1$], or #math.equation(block: false, alt: "a plus c equals the fraction 1 over 5")[$a + c = frac(1, 5)$]. We let #math.equation(block: false, alt: "c")[$c$] be the free variable and we choose #math.equation(block: false, alt: "c equals 0")[$c = 0$]. We find #math.equation(block: false, alt: "v → sub 2 equals [ the fraction 1 over 5; the fraction minus 1 over 5; 0 ]")[$arrow(v)_(2) = [ frac(1, 5) \ frac(− 1, 5) \ 0 ]$]. The general solution is therefore, #math.equation(block: true, alt: "x → equals c sub 1 [ 0; 0; 1 ] e to the power t plus c sub 2 [ 1; 0; minus 1 ] e to the power 2 t plus c sub 3 open parenthesis [ the fraction 1 over 5; the fraction minus 1 over 5; 0 ] plus [ 1; 0; minus 1 ] t close parenthesis e to the power 2 t .")[$arrow(x) = c_(1) [ 0 \ 0 \ 1 ] e^(t) + c_(2) [ 1 \ 0 \ − 1 ] e^(2 t) + c_(3) ( [ frac(1, 5) \ frac(− 1, 5) \ 0 ] + [ 1 \ 0 \ − 1 ] t ) e^(2 t) .$] ] ] This machinery can also be generalized to higher multiplicities and higher defects. We will not go over this method in detail, but let us just sketch the ideas. Suppose that #math.equation(block: false, alt: "A")[$A$] has an eigenvalue #math.equation(block: false, alt: "λ")[$λ$] of multiplicity #math.equation(block: false, alt: "m")[$m$]. We find vectors such that #math.equation(block: true, alt: "open parenthesis A minus λ I close parenthesis to the power k open parenthesis → v close parenthesis equals open parenthesis → 0 close parenthesis , but open parenthesis A minus λ I close parenthesis to the power k minus 1 v → not equal to 0 →")[$( A − λ I )^(k) arrow( v ) = arrow( 0 ) , #h(1em) "but" #h(1em) ( A − λ I )^(k − 1) arrow(v) ≠ arrow(0)$] Such vectors are called #emph[generalized eigenvectors] (then #math.equation(block: false, alt: "v sub 1 → equals open parenthesis A minus λ I close parenthesis to the power k minus 1 v →")[$arrow(v_(1)) = ( A − λ I )^(k − 1) arrow(v)$] is an eigenvector). For every eigenvector #math.equation(block: false, alt: "v → sub 1")[$arrow(v)_(1)$] we find a chain of generalized eigenvectors #math.equation(block: false, alt: "v → sub 2")[$arrow(v)_(2)$] through #math.equation(block: false, alt: "v → sub k")[$arrow(v)_(k)$] such that: #math.equation(block: true, alt: "open parenthesis A minus λ I close parenthesis v sub 1 → equals 0 → ,; open parenthesis A minus λ I close parenthesis v sub 2 → equals v sub 1 → ,; ⋮; open parenthesis A minus λ I close parenthesis v sub k → equals v sub k minus 1 → .")[$( A − λ I ) arrow(v_(1)) = arrow(0) , \ ( A − λ I ) arrow(v_(2)) = arrow(v_(1)) , \ ⋮ \ ( A − λ I ) arrow(v_(k)) = arrow(v_(k − 1)) .$] Really once you find the #math.equation(block: false, alt: "v → sub k")[$arrow(v)_(k)$] such that #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis to the power k v → sub k equals 0 →")[$attach(( A − λ I ), t: k) arrow(v)_(k) = arrow(0)$] but #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis to the power k minus 1 v → sub k ⧸ equals 0 →")[$attach(( A − λ I ), t: k − 1) arrow(v)_(k) "⧸" = arrow(0)$], you find the entire chain since you can compute the rest, #math.equation(block: false, alt: "v → sub k minus 1 equals open parenthesis A minus λ I close parenthesis v → sub k")[$arrow(v)_(k − 1) = ( A − λ I ) arrow(v)_(k)$], #math.equation(block: false, alt: "v → sub k minus 2 equals open parenthesis A minus λ I close parenthesis v → sub k minus 1")[$arrow(v)_(k − 2) = ( A − λ I ) arrow(v)_(k − 1)$], etc. We form the linearly independent solutions #math.equation(block: true, alt: "x sub 1 → equals v sub 1 → e to the power λ t; x sub 2 → equals open parenthesis v sub 2 → plus v sub 1 → t close parenthesis e to the power λ t; ⋮; x sub k → equals open parenthesis v sub k → plus v → sub k minus 1 t plus v → sub k minus 2 the fraction t squared over 2 plus ⋯ plus v → sub 2 the fraction t to the power k minus 2 over open parenthesis k minus 2 close parenthesis ! plus v → sub 1 the fraction t to the power k minus 1 over open parenthesis k minus 1 close parenthesis ! close parenthesis e to the power λ t close parenthesis")[$arrow(x_(1)) = arrow(v_(1)) e^(λ t) \ arrow(x_(2)) = \( arrow(v_(2)) + arrow(v_(1)) t \) e^(λ t) \ ⋮ \ arrow(x_(k)) = \( arrow(v_(k)) + arrow(v)_(k − 1) t + arrow(v)_(k − 2) frac(t^(2), 2) + ⋯ + arrow(v)_(2) frac(t^(k − 2), \( k − 2 \) !) + arrow(v)_(1) frac(t^(k − 1), \( k − 1 \) !) \) e^(λ t) \)$] Recall that #math.equation(block: false, alt: "k ! equals 1 times 2 times 3 ⋯ open parenthesis k minus 1 close parenthesis times k")[$k ! = 1 · 2 · 3 ⋯ ( k − 1 ) · k$] is the factorial. If you have an eigenvalue of geometric multiplicity #math.equation(block: false, alt: "ℓ")[$ℓ$], you will have to find #math.equation(block: false, alt: "ℓ")[$ℓ$] such chains (some of them might be short: just the single eigenvector equation). We go until we form #math.equation(block: false, alt: "m")[$m$] linearly independent solutions where #math.equation(block: false, alt: "m")[$m$] is the algebraic multiplicity. We don’t quite know which specific eigenvectors go with which chain, so start by finding #math.equation(block: false, alt: "v → sub k")[$arrow(v)_(k)$] first for the longest possible chain and go from there. For example, if #math.equation(block: false, alt: "λ")[$λ$] is an eigenvalue of #math.equation(block: false, alt: "A")[$A$] of algebraic multiplicity #math.equation(block: false, alt: "3")[$3$] and defect #math.equation(block: false, alt: "2")[$2$], then solve #math.equation(block: true, alt: "open parenthesis A minus λ I close parenthesis v → sub 1 equals 0 → , open parenthesis A minus λ I close parenthesis v → sub 2 equals v → sub 1 , open parenthesis A minus λ I close parenthesis v → sub 3 equals v → sub 2 .")[$( A − λ I ) arrow(v)_(1) = arrow(0) , #h(2em) ( A − λ I ) arrow(v)_(2) = arrow(v)_(1) , #h(2em) ( A − λ I ) arrow(v)_(3) = arrow(v)_(2) .$] That is, find #math.equation(block: false, alt: "v → sub 3")[$arrow(v)_(3)$] such that #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis cubed v → sub 3 equals 0 →")[$attach(( A − λ I ), t: 3) arrow(v)_(3) = arrow(0)$], but #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis squared v → sub 3 ⧸ equals 0 →")[$attach(( A − λ I ), t: 2) arrow(v)_(3) "⧸" = arrow(0)$]. Then you are done as #math.equation(block: false, alt: "v → sub 2 equals open parenthesis A minus λ I close parenthesis v → sub 3")[$arrow(v)_(2) = ( A − λ I ) arrow(v)_(3)$] and #math.equation(block: false, alt: "v → sub 1 equals open parenthesis A minus λ I close parenthesis v → sub 2")[$arrow(v)_(1) = ( A − λ I ) arrow(v)_(2)$]. The 3 linearly independent solutions are #math.equation(block: true, alt: "x → sub 1 equals v → sub 1 e to the power λ t , x → sub 2 equals open parenthesis v → sub 2 plus v → sub 1 t close parenthesis e to the power λ t , x → sub 3 equals open parenthesis v → sub 3 plus v → sub 2 t plus v → sub 1 the fraction t squared over 2 close parenthesis e to the power λ t .")[$arrow(x)_(1) = arrow(v)_(1) e^(λ t) , #h(2em) arrow(x)_(2) = ( arrow(v)_(2) + arrow(v)_(1) t ) e^(λ t) , #h(2em) arrow(x)_(3) = ( arrow(v)_(3) + arrow(v)_(2) t + arrow(v)_(1) frac(t^(2), 2) ) e^(λ t) .$] If on the other hand #math.equation(block: false, alt: "A")[$A$] has an eigenvalue #math.equation(block: false, alt: "λ")[$λ$] of algebraic multiplicity #math.equation(block: false, alt: "3")[$3$] and defect #math.equation(block: false, alt: "1")[$1$], then solve #math.equation(block: true, alt: "open parenthesis A minus λ I close parenthesis v → sub 1 equals 0 → , open parenthesis A minus λ I close parenthesis v → sub 2 equals 0 → , open parenthesis A minus λ I close parenthesis v → sub 3 equals v → sub 2 .")[$( A − λ I ) arrow(v)_(1) = arrow(0) , #h(2em) ( A − λ I ) arrow(v)_(2) = arrow(0) , #h(2em) ( A − λ I ) arrow(v)_(3) = arrow(v)_(2) .$] Here #math.equation(block: false, alt: "v → sub 1")[$arrow(v)_(1)$] and #math.equation(block: false, alt: "v → sub 2")[$arrow(v)_(2)$] are actual honest eigenvectors, and #math.equation(block: false, alt: "v → sub 3")[$arrow(v)_(3)$] is a generalized eigenvector. So there are two chains. To solve, first find a #math.equation(block: false, alt: "v → sub 3")[$arrow(v)_(3)$] such that #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis squared v → sub 3 equals 0 →")[$attach(( A − λ I ), t: 2) arrow(v)_(3) = arrow(0)$], but #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis v → sub 3 ⧸ equals 0 →")[$( A − λ I ) arrow(v)_(3) "⧸" = arrow(0)$]. Then #math.equation(block: false, alt: "v → sub 2 equals open parenthesis A minus λ I close parenthesis v → sub 3")[$arrow(v)_(2) = ( A − λ I ) arrow(v)_(3)$] is going to be an eigenvector. Then solve for an eigenvector #math.equation(block: false, alt: "v → sub 1")[$arrow(v)_(1)$] that is linearly independent from #math.equation(block: false, alt: "v → sub 2")[$arrow(v)_(2)$]. You get 3 linearly independent solutions #math.equation(block: true, alt: "x → sub 1 equals v → sub 1 e to the power λ t , x → sub 2 equals v → sub 2 e to the power λ t , x → sub 3 equals open parenthesis v → sub 3 plus v → sub 2 t close parenthesis e to the power λ t .")[$arrow(x)_(1) = arrow(v)_(1) e^(λ t) , #h(2em) arrow(x)_(2) = arrow(v)_(2) e^(λ t) , #h(2em) arrow(x)_(3) = ( arrow(v)_(3) + arrow(v)_(2) t ) e^(λ t) .$]