#set document(title: "4.1 Boundary value problems", 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")) == 4.1#h(0.6em)Boundary value problems Before we tackle the Fourier series, we need to study the so-called #strong[boundary value problems] (or endpoint problems). For example, suppose we have #math.equation(block: true, alt: "x double prime plus λ x equals 0 , x open parenthesis a close parenthesis equals 0 , x open parenthesis b close parenthesis equals 0 ,")[$x^(″) + λ x = 0 , #h(1em) x ( a ) = 0 , #h(1em) x ( b ) = 0 ,$] for some constant #math.equation(block: false, alt: "λ")[$λ$], where #math.equation(block: false, alt: "x open parenthesis t close parenthesis")[$x ( t )$] is defined for #math.equation(block: false, alt: "t")[$t$] in the interval #math.equation(block: false, alt: "[ a , b ]")[$[ a , b ]$]. Unlike before, when we specified the value of the solution and its derivative at a single point, we now specify the value of the solution at two different points. Note that #math.equation(block: false, alt: "x equals 0")[$x = 0$] is a solution to this equation, so existence of solutions is not an issue here. Uniqueness of solutions is another issue. The general solution to #math.equation(block: false, alt: "x double prime plus λ x equals 0")[$x^(″) + λ x = 0$] has two arbitrary constants present.#math.equation(block: false, alt: "to the power 1")[$1$] It is, therefore, natural (but wrong) to believe that requiring two conditions guarantees a unique solution. #examplebox("Example 1")[][ Take #math.equation(block: false, alt: "λ equals 1 , a equals 0 , b equals π")[$λ = 1 , a = 0 , b = π$]. That is, #math.equation(block: true, alt: "x double prime plus x equals 0 , x open parenthesis 0 close parenthesis equals 0 , x open parenthesis π close parenthesis equals 0 .")[$x^(″) + x = 0 , #h(1em) x ( 0 ) = 0 , #h(1em) x ( π ) = 0 .$] Then #math.equation(block: false, alt: "x equals sin t")[$x = sin t$] is another solution (besides #math.equation(block: false, alt: "x equals 0")[$x = 0$]) satisfying both boundary conditions. There are more. Write down the general solution of the differential equation, which is #math.equation(block: false, alt: "x equals A cos t plus B sin t")[$x = A cos t + B sin t$]. The condition #math.equation(block: false, alt: "x open parenthesis 0 close parenthesis equals 0")[$x ( 0 ) = 0$] forces #math.equation(block: false, alt: "A equals 0")[$A = 0$]. Letting #math.equation(block: false, alt: "x open parenthesis π close parenthesis equals 0")[$x ( π ) = 0$] does not give us any more information as #math.equation(block: false, alt: "x equals B sin t")[$x = B sin t$] already satisfies both boundary conditions. Hence, there are infinitely many solutions of the form #math.equation(block: false, alt: "x equals B sin t")[$x = B sin t$], where #math.equation(block: false, alt: "B")[$B$] is an arbitrary constant. ] #examplebox("Example 2")[][ On the other hand, change to #math.equation(block: false, alt: "λ equals 2")[$λ = 2$]. #math.equation(block: true, alt: "x double prime plus 2 x equals 0 , x open parenthesis 0 close parenthesis equals 0 , x open parenthesis π close parenthesis equals 0 .")[$x^(″) + 2 x = 0 , #h(1em) x ( 0 ) = 0 , #h(1em) x ( π ) = 0 .$] Then the general solution is #math.equation(block: false, alt: "x equals A cos open parenthesis the square root of 2 t close parenthesis plus B sin open parenthesis the square root of 2 t close parenthesis")[$x = A cos ( sqrt(2) t ) + B sin ( sqrt(2) t )$]. Letting #math.equation(block: false, alt: "x open parenthesis 0 close parenthesis equals 0")[$x ( 0 ) = 0$] still forces #math.equation(block: false, alt: "A equals 0")[$A = 0$]. We apply the second condition to find #math.equation(block: false, alt: "0 equals x open parenthesis π close parenthesis equals B sin open parenthesis the square root of 2 t close parenthesis")[$0 = x ( π ) = B sin ( sqrt(2) t )$]. As #math.equation(block: false, alt: "sin open parenthesis the square root of 2 t close parenthesis not equal to 0")[$sin ( sqrt(2) t ) ≠ 0$] we obtain #math.equation(block: false, alt: "B equals 0")[$B = 0$]. Therefore #math.equation(block: false, alt: "x equals 0")[$x = 0$] is the unique solution to this problem. ] What is going on? We will be interested in finding which constants #math.equation(block: false, alt: "λ")[$λ$] allow a nonzero solution, and we will be interested in finding those solutions. This problem is an analogue of finding eigenvalues and eigenvectors of matrices. Every λ makes x = sin(√λ t) satisfy the left condition x(0) = 0, so only the right endpoint is ever in play. Drag λ from 0 to 17 and watch where the curve meets the dashed line t = π: it lands on the axis exactly four times, at λ = 1, 4, 9 and 16 — the eigenvalues k² — and misses at every value in between, including Lebl's λ = 2 shown here. Below λ = 1 the curve never gets back down to the axis at all, and at λ = 0 it lies flat along the axis — no nonzero solution survives, which is why Lebl rules 0 out as an eigenvalue as well. {"functions":\[{"color":"\#b8442a","domain":null,"expression":"pi","expression2":"t","id":"endline","inequality":"lt","lineDash":\[5,4\],"lineWidth":1.5,"mode":"parametric","tMax":1.25,"tMin":-1.25,"variable":"t","visible":true},{"color":"\#1f4e79","domain":\[0,3.141592653589793\],"expression":"sin(sqrt(la)\*t)","expression2":"","id":"sol","inequality":"lt","lineDash":\[\],"lineWidth":2.5,"mode":"cartesian","tMax":10,"tMin":-10,"variable":"t","visible":true}\],"grid":{"axisColor":"\#333333","gridColor":"\#cccccc","majorSpacing":1,"minorGridColor":"\#eeeeee","showAxes":true,"showLabels":true},"parameters":\[{"id":"la","label":"\\u03bb in x\\u2033 + \\u03bbx = 0","max":17,"min":0,"name":"la","step":0.05,"unit":"","value":2}\],"title":"Boundary value problem x\\u2033 + \\u03bbx = 0: which \\u03bb are eigenvalues?","version":1,"viewport":{"centerX":1.5708,"centerY":0,"scale":180}} === Eigenvalue Problems For basic Fourier series theory we will need the following three eigenvalue problems. We will consider more general equations, but we will postpone this until #link("https://math.libretexts.org/Bookshelves/Differential_Equations/Differential_Equations_for_Engineers_(Lebl)/5%3A_Eigenvalue_problems")[Chapter 5]. #math.equation(block: true, alt: "x double prime plus λ x equals 0 , x open parenthesis a close parenthesis equals 0 , x open parenthesis b close parenthesis equals 0 ,; x double prime plus λ x equals 0 , x prime open parenthesis a close parenthesis equals 0 , x prime open parenthesis b close parenthesis equals 0 ,")[$x^(″) + λ x = 0 , x ( a ) = 0 , #h(1em) x ( b ) = 0 , \ x^(″) + λ x = 0 , x^(′) ( a ) = 0 , #h(1em) x^(′) ( b ) = 0 ,$] and #math.equation(block: true, alt: "x double prime plus λ x equals 0 , x open parenthesis a close parenthesis equals x open parenthesis b close parenthesis , x prime open parenthesis a close parenthesis equals x prime open parenthesis b close parenthesis ,")[$x^(″) + λ x = 0 , " " " " " " x ( a ) = x ( b ) , " " " " " " x^(′) ( a ) = x^(′) ( b ) ,$] A number #math.equation(block: false, alt: "λ")[$λ$] is called an eigenvalue of (4.1.1) (resp. (4.1.2) or (4.1.3)) if and only if there exists a nonzero (not identically zero) solution to (4.1.1) (resp. (4.1.2) or (4.1.3)) given that specific #math.equation(block: false, alt: "λ")[$λ$]. The nonzero solution we found is called the corresponding #emph[eigenfunction]. Note the similarity to eigenvalues and eigenvectors of matrices. The similarity is not just coincidental. If we think of the equations as differential operators, then we are doing the same exact thing. Think of a function #math.equation(block: false, alt: "x open parenthesis t close parenthesis")[$x ( t )$] as a vector with infinitely many components (one for each #math.equation(block: false, alt: "t")[$t$]). Let #math.equation(block: false, alt: "L equals minus the fraction d squared over d t squared")[$L = − frac(d^(2), attach(d t, t: 2))$] be the linear operator. Then the eigenvalue/eigenfunction pair should be #math.equation(block: false, alt: "λ")[$λ$] and nonzero #math.equation(block: false, alt: "x")[$x$] such that #math.equation(block: false, alt: "L x equals λ x")[$L x = λ x$]. In other words, we are looking for nonzero functions #math.equation(block: false, alt: "x")[$x$] satisfying certain endpoint conditions that solve #math.equation(block: false, alt: "open parenthesis L minus λ close parenthesis x equals 0")[$( L − λ ) x = 0$]. A lot of the formalism from linear algebra still applies here, though we will not pursue this line of reasoning too far. #examplebox("Example 3")[][ Let us find the eigenvalues and eigenfunctions of #math.equation(block: true, alt: "x double prime plus λ x equals 0 , x open parenthesis 0 close parenthesis equals 0 , x open parenthesis π close parenthesis equals 0 .")[$x^(″) + λ x = 0 , #h(1em) x ( 0 ) = 0 , #h(1em) x ( π ) = 0 .$] For reasons that will be clear from the computations, we will have to handle the cases #math.equation(block: false, alt: "λ greater than 0 , λ equals 0 , λ less than 0")[$λ > 0 , λ = 0 , λ < 0$] separately. First suppose that #math.equation(block: false, alt: "λ greater than 0")[$λ > 0$], then the general solution to #math.equation(block: false, alt: "x double prime plus λ x equals 0")[$x^(″) + λ x = 0$] is #math.equation(block: true, alt: "x equals A cos open parenthesis the square root of λ t close parenthesis plus B sin open parenthesis the square root of λ t close parenthesis .")[$x = A cos ( sqrt(λ) t ) + B sin ( sqrt(λ) t ) .$] The condition #math.equation(block: false, alt: "x open parenthesis 0 close parenthesis equals 0")[$x ( 0 ) = 0$] implies immediately #math.equation(block: false, alt: "A")[$A$]. Next #math.equation(block: true, alt: "0 equals x open parenthesis π close parenthesis equals B sin open parenthesis the square root of λ π close parenthesis .")[$0 = x ( π ) = B sin ( sqrt(λ) π ) .$] If #math.equation(block: false, alt: "B")[$B$] is zero, then #math.equation(block: false, alt: "x")[$x$] is not a nonzero solution. So to get a nonzero solution we must have that #math.equation(block: false, alt: "sin open parenthesis the square root of λ π close parenthesis equals 0")[$sin ( sqrt(λ) π ) = 0$]. Hence, #math.equation(block: false, alt: "the square root of λ π")[$sqrt(λ) π$] must be an integer multiple of #math.equation(block: false, alt: "π")[$π$]. In other words, #math.equation(block: false, alt: "the square root of λ equals k")[$sqrt(λ) = k$] for a positive integer #math.equation(block: false, alt: "k")[$k$]. Hence the positive eigenvalues are #math.equation(block: false, alt: "k squared")[$k^(2)$] for all integers #math.equation(block: false, alt: "k greater than or equal to 1")[$k ≥ 1$]. The corresponding eigenfunctions can be taken as #math.equation(block: false, alt: "x equals sin open parenthesis k t close parenthesis")[$x = sin ( k t )$]. Just like for eigenvectors, we get all the multiples of an eigenfunction, so we only need to pick one. Now suppose that #math.equation(block: false, alt: "λ equals 0")[$λ = 0$]. In this case the equation is #math.equation(block: false, alt: "x double prime equals 0")[$x^(″) = 0$] and the general solution is #math.equation(block: false, alt: "x equals A t plus B")[$x = A t + B$]. The condition #math.equation(block: false, alt: "x open parenthesis 0 close parenthesis equals 0")[$x ( 0 ) = 0$] implies that #math.equation(block: false, alt: "B equals 0")[$B = 0$], and #math.equation(block: false, alt: "x open parenthesis π close parenthesis equals 0")[$x ( π ) = 0$] implies that #math.equation(block: false, alt: "A equals 0")[$A = 0$]. This means that #math.equation(block: false, alt: "λ equals 0")[$λ = 0$] is not an eigenvalue. Finally, suppose that #math.equation(block: false, alt: "λ less than 0")[$λ < 0$]. In this case we have the general solution#math.equation(block: false, alt: "squared")[$2$] #math.equation(block: true, alt: "x equals A cosh open parenthesis the square root of minus λ t close parenthesis plus B sinh open parenthesis the square root of minus λ t close parenthesis .")[$x = A cosh ( sqrt(− λ) t ) + B sinh ( sqrt(− λ) t ) .$] Letting #math.equation(block: false, alt: "x open parenthesis 0 close parenthesis equals 0")[$x ( 0 ) = 0$] implies that #math.equation(block: false, alt: "A equals 0")[$A = 0$] (recall #math.equation(block: false, alt: "cosh 0 equals 1")[$cosh 0 = 1$] and #math.equation(block: false, alt: "sinh 0 equals 0")[$sinh 0 = 0$]). So our solution must be #math.equation(block: false, alt: "x equals B sinh open parenthesis the square root of minus λ t close parenthesis")[$x = B sinh ( sqrt(− λ) t )$] and satisfy #math.equation(block: false, alt: "x open parenthesis π close parenthesis equals 0")[$x ( π ) = 0$]. This is only possible if #math.equation(block: false, alt: "B")[$B$] is zero. Why? Because #math.equation(block: false, alt: "sinh ξ")[$sinh ξ$] is only zero when #math.equation(block: false, alt: "ξ equals 0")[$ξ = 0$]. You should plot #math.equation(block: false, alt: "sinh")[$sinh$] to see this fact. We can also see this from the definition of sinh. We get #math.equation(block: false, alt: "0 equals sinh t equals the fraction e to the power t minus e to the power minus t over 2")[$0 = sinh t = frac(e^(t) − e^(− t), 2)$]. Hence #math.equation(block: false, alt: "e to the power t equals e to the power minus t")[$e^(t) = e^(− t)$], which implies #math.equation(block: false, alt: "t equals minus t")[$t = − t$] and that is only true if #math.equation(block: false, alt: "t equals 0")[$t = 0$]. So there are no negative eigenvalues. In summary, the eigenvalues and corresponding eigenfunctions are #math.equation(block: true, alt: "λ sub k equals k squared with an eigenfucntion x sub k equals sin open parenthesis k t close parenthesis for all integers k greater than or equal to 1 .")[$λ_(k) = k^(2) #h(1em) "with an eigenfucntion" #h(1em) x_(k) = sin ( k t ) #h(1em) "for all integers " k ≥ 1 .$] ] #examplebox("Example 4")[][ Let us compute the eigenvalues and eigenfunctions of #math.equation(block: true, alt: "x double prime plus λ x equals 0 , x prime open parenthesis 0 close parenthesis equals 0 , x prime open parenthesis π close parenthesis equals 0 .")[$x^(″) + λ x = 0 , " " " " " " x^(′) ( 0 ) = 0 , " " " " " " x^(′) ( π ) = 0 .$] Again we will have to handle the cases #math.equation(block: false, alt: "λ greater than 0 , λ equals 0 , λ less than 0")[$λ > 0 , λ = 0 , λ < 0$] separately. First suppose that #math.equation(block: false, alt: "λ greater than 0")[$λ > 0$]. The general solution to #math.equation(block: false, alt: "x double prime plus λ x equals 0")[$x^(″) + λ x = 0$] is #math.equation(block: false, alt: "x equals A cos open parenthesis the square root of λ t close parenthesis plus B sin open parenthesis the square root of λ t close parenthesis")[$x = A cos ( sqrt(λ) t ) + B sin ( sqrt(λ) t )$]. So #math.equation(block: true, alt: "x prime equals minus A the square root of λ sin open parenthesis the square root of λ t close parenthesis plus B the square root of λ cos open parenthesis the square root of λ t close parenthesis .")[$x^(′) = − A sqrt(λ) sin ( sqrt(λ) t ) + B sqrt(λ) cos ( sqrt(λ) t ) .$] The condition #math.equation(block: false, alt: "x prime open parenthesis 0 close parenthesis equals 0")[$x^(′) ( 0 ) = 0$] implies immediately #math.equation(block: false, alt: "B equals 0")[$B = 0$]. Next #math.equation(block: true, alt: "0 equals x prime open parenthesis π close parenthesis equals minus A the square root of λ sin open parenthesis the square root of λ π close parenthesis .")[$0 = x^(′) ( π ) = − A sqrt(λ) sin ( sqrt(λ) π ) .$] Again #math.equation(block: false, alt: "A")[$A$] cannot be zero if #math.equation(block: false, alt: "λ")[$λ$] is to be an eigenvalue, and #math.equation(block: false, alt: "sin open parenthesis the square root of λ π close parenthesis")[$sin ( sqrt(λ) π )$] is only zero if #math.equation(block: false, alt: "the square root of λ equals k")[$sqrt(λ) = k$] for a positive integer #math.equation(block: false, alt: "k")[$k$]. Hence the positive eigenvalues are again #math.equation(block: false, alt: "k squared")[$k^(2)$] for all integers #math.equation(block: false, alt: "k greater than or equal to 1")[$k ≥ 1$]. And the corresponding eigenfunctions can be taken as #math.equation(block: false, alt: "x equals cos open parenthesis k t close parenthesis")[$x = cos ( k t )$]. Now suppose that #math.equation(block: false, alt: "λ equals 0")[$λ = 0$]. In this case the equation is #math.equation(block: false, alt: "x double prime equals 0")[$x^(″) = 0$] and the general solution is #math.equation(block: false, alt: "x equals A t plus B")[$x = A t + B$] so #math.equation(block: false, alt: "x prime equals A")[$x^(′) = A$]. The condition #math.equation(block: false, alt: "x prime open parenthesis 0 close parenthesis equals 0")[$x^(′) ( 0 ) = 0$] implies that #math.equation(block: false, alt: "A equals 0")[$A = 0$]. Now #math.equation(block: false, alt: "x prime open parenthesis π close parenthesis equals 0")[$x^(′) ( π ) = 0$] also simply implies #math.equation(block: false, alt: "A equals 0")[$A = 0$]. This means that #math.equation(block: false, alt: "B")[$B$] could be anything (let us take it to be 1). So #math.equation(block: false, alt: "λ equals 0")[$λ = 0$] is an eigenvalue and #math.equation(block: false, alt: "x equals 1")[$x = 1$] is a corresponding eigenfunction. Finally, let #math.equation(block: false, alt: "λ less than 0")[$λ < 0$]. In this case we have the general solution #math.equation(block: false, alt: "x equals A cosh open parenthesis the square root of minus λ t close parenthesis plus B sinh open parenthesis the square root of minus λ t close parenthesis")[$x = A cosh ( sqrt(− λ) t ) + B sinh ( sqrt(− λ) t )$] and hence #math.equation(block: true, alt: "x prime equals A the square root of minus λ sinh open parenthesis the square root of minus λ t close parenthesis plus B the square root of minus λ cosh open parenthesis the square root of minus λ t close parenthesis .")[$x^(′) = A sqrt(− λ) sinh ( sqrt(− λ) t ) + B sqrt(− λ) cosh ( sqrt(− λ) t ) .$] We have already seen (with roles of #math.equation(block: false, alt: "A")[$A$] and #math.equation(block: false, alt: "B")[$B$] switched) that for this to be zero at #math.equation(block: false, alt: "t equals 0")[$t = 0$] and #math.equation(block: false, alt: "t equals π")[$t = π$] it implies that #math.equation(block: false, alt: "A equals B equals 0")[$A = B = 0$]. Hence there are no negative eigenvalues. In summary, the eigenvalues and corresponding eigenfunctions are #math.equation(block: true, alt: "λ sub k equals k squared with an eigenfunction x sub k equals cos open parenthesis k t close parenthesis for all integers k greater than or equal to 1 ,")[$λ_(k) = k^(2) #h(1em) "with an eigenfunction" #h(1em) x_(k) = cos ( k t ) #h(1em) "for all integers " k ≥ 1 ,$] and there is another eigenvalue #math.equation(block: true, alt: "λ sub 0 equals 0 with an eigenfunction x sub 0 equals 1 .")[$λ_(0) = 0 #h(1em) "with an eigenfunction" #h(1em) x_(0) = 1 .$] ] The following problem is the one that leads to the general Fourier series. #examplebox("Example 5")[][ Let us compute the eigenvalues and eigenfunctions of #math.equation(block: true, alt: "x double prime plus λ x equals 0 , x open parenthesis minus π close parenthesis equals x open parenthesis π close parenthesis , x prime open parenthesis minus π close parenthesis equals x prime open parenthesis π close parenthesis .")[$x^(″) + λ x = 0 , " " " " " " " " x ( − π ) = x ( π ) , " " " " " " " " x^(′) ( − π ) = x^(′) ( π ) .$] Notice that we have not specified the values or the derivatives at the endpoints, but rather that they are the same at the beginning and at the end of the interval. Let us skip #math.equation(block: false, alt: "λ less than 0")[$λ < 0$]. The computations are the same as before, and again we find that there are no negative eigenvalues. For #math.equation(block: false, alt: "λ equals 0")[$λ = 0$], the general solution is #math.equation(block: false, alt: "x equals A t plus B")[$x = A t + B$]. The condition #math.equation(block: false, alt: "x open parenthesis minus π close parenthesis equals x open parenthesis π close parenthesis")[$x ( − π ) = x ( π )$] implies that #math.equation(block: false, alt: "A equals 0")[$A = 0$] #math.equation(block: false, alt: "open parenthesis A π plus B equals minus A π plus B")[$\( A π + B = − A π + B$] implies #math.equation(block: false, alt: "A equals 0 close parenthesis")[$A = 0 \)$]. The second condition #math.equation(block: false, alt: "x prime open parenthesis minus π close parenthesis equals x prime open parenthesis π close parenthesis")[$x^(′) ( − π ) = x^(′) ( π )$] says nothing about #math.equation(block: false, alt: "B")[$B$] and hence #math.equation(block: false, alt: "λ equals 0")[$λ = 0$] is an eigenvalue with a corresponding eigenfunction #math.equation(block: false, alt: "x equals 1")[$x = 1$]. For #math.equation(block: false, alt: "λ greater than 0")[$λ > 0$] we get that #math.equation(block: false, alt: "x equals A cos open parenthesis the square root of λ t close parenthesis plus B sin open parenthesis the square root of λ t close parenthesis")[$x = A cos ( sqrt(λ) t ) + B sin ( sqrt(λ) t )$]. Now #math.equation(block: true, alt: "A cos open parenthesis minus the square root of λ π close parenthesis plus B sin open parenthesis minus the square root of λ π close parenthesis ⏟ x open parenthesis minus π close parenthesis equals A cos open parenthesis the square root of λ π close parenthesis plus B sin open parenthesis the square root of λ π close parenthesis ⏟ x open parenthesis π close parenthesis .")[$limits(underbrace(A cos ( − sqrt(λ) π ) + B sin ( − sqrt(λ) π )))_(x ( − π )) = limits(underbrace(A cos ( sqrt(λ) π ) + B sin ( sqrt(λ) π )))_(x ( π )) .$] We remember that #math.equation(block: false, alt: "cos open parenthesis minus θ close parenthesis equals cos open parenthesis θ close parenthesis")[$cos ( − θ ) = cos ( θ )$] and #math.equation(block: false, alt: "sin open parenthesis minus θ close parenthesis equals minus sin open parenthesis θ close parenthesis")[$sin ( − θ ) = − sin ( θ )$]. Therefore, #math.equation(block: true, alt: "A cos open parenthesis the square root of λ π close parenthesis minus B sin open parenthesis the square root of λ π close parenthesis equals A cos open parenthesis the square root of λ π close parenthesis plus B sin open parenthesis the square root of λ π close parenthesis .")[$A cos ( sqrt(λ) π ) − B sin ( sqrt(λ) π ) = A cos ( sqrt(λ) π ) + B sin ( sqrt(λ) π ) .$] Hence either #math.equation(block: false, alt: "B equals 0")[$B = 0$] or #math.equation(block: false, alt: "sin open parenthesis the square root of λ π close parenthesis equals 0")[$sin ( sqrt(λ) π ) = 0$]. Similarly (exercise) if we differentiate #math.equation(block: false, alt: "x")[$x$] and plug in the second condition we find that #math.equation(block: false, alt: "A equals 0")[$A = 0$] or #math.equation(block: false, alt: "sin open parenthesis the square root of λ π close parenthesis equals 0")[$sin ( sqrt(λ) π ) = 0$]. Therefore, unless we want #math.equation(block: false, alt: "A")[$A$] and #math.equation(block: false, alt: "B")[$B$] to both be zero (which we do not) we must have #math.equation(block: false, alt: "sin open parenthesis the square root of λ π close parenthesis equals 0")[$sin ( sqrt(λ) π ) = 0$]. Hence, #math.equation(block: false, alt: "the square root of λ")[$sqrt(λ)$] is an integer and the eigenvalues are yet again #math.equation(block: false, alt: "λ equals k squared")[$λ = k^(2)$] for an integer #math.equation(block: false, alt: "k greater than or equal to 1")[$k ≥ 1$]. In this case, however, #math.equation(block: false, alt: "x equals A cos open parenthesis k t close parenthesis plus B sin open parenthesis k t close parenthesis")[$x = A cos ( k t ) + B sin ( k t )$] is an eigenfunction for any #math.equation(block: false, alt: "A")[$A$] and any #math.equation(block: false, alt: "B")[$B$]. So we have two linearly independent eigenfunctions #math.equation(block: false, alt: "sin open parenthesis k t close parenthesis")[$sin ( k t )$] and #math.equation(block: false, alt: "cos open parenthesis k t close parenthesis")[$cos ( k t )$]. Remember that for a matrix we could also have had two eigenvectors corresponding to a single eigenvalue if the eigenvalue was repeated. In summary, the eigenvalues and corresponding eigenfunctions are #math.equation(block: true, alt: "λ sub k equals k squared with eigenfunctions cos open parenthesis k t close parenthesis and sin open parenthesis k t close parenthesis for all integers k greater than or equal to 1 ,; λ sub 0 equals 0 with an eigenfunction x sub 0 equals 1 .")[$λ_(k) = k^(2) "with eigenfunctions" cos ( k t ) #h(1em) "and" #h(1em) sin ( k t ) "for all integers " k ≥ 1 , \ λ_(0) = 0 "with an eigenfunction" x_(0) = 1 .$] ] === Orthogonality of Eigenfunctions Something that will be very useful in the next section is the #emph[orthogonality]property of the eigenfunctions. This is an analogue of the following fact about eigenvectors of a matrix. A matrix is called #emph[symmetric]if #math.equation(block: false, alt: "A equals A to the power T")[$A = A^(T)$]. #emph[Eigenvectors for two distinct eigenvalues of a symmetric matrix]#emph[are orthogonal]. That symmetry is required. We will not prove this fact here. The differential operators we are dealing with act much like a symmetric matrix. We, therefore, get the following theorem. #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Orthogonal] Suppose that #math.equation(block: false, alt: "x sub 1 open parenthesis t close parenthesis")[$x_(1) ( t )$] and #math.equation(block: false, alt: "x sub 2 open parenthesis t close parenthesis")[$x_(2) ( t )$] are two eigenfunctions of the problem (4.1.1), (4.1.2) or (4.1.3) for two different eigenvalues #math.equation(block: false, alt: "λ sub 1")[$λ_(1)$] and #math.equation(block: false, alt: "λ sub 2")[$λ_(2)$]. Then they are #strong[orthogonal]in the sense that #math.equation(block: true, alt: "∫ a b x sub 1 open parenthesis t close parenthesis x sub 2 open parenthesis t close parenthesis d t equals 0 .")[$∫_(a)^(b) x_(1) ( t ) x_(2) ( t ) d t = 0 .$] ] Note that the terminology comes from the fact that the integral is a type of inner product. We will expand on this in the next section. The theorem has a very short, elegant, and illuminating proof so let us give it here. First note that we have the following two equations. #math.equation(block: true, alt: "x 1 ″ plus λ sub 1 x sub 1 equals 0 a n d x 2 ″ plus λ sub 2 x sub 2 equals 0 .")[$x_(1)^(″) + λ_(1) x_(1) = 0 " " " " " " " " upright(a) upright(n) upright(d) " " " " " " " " x_(2)^(″) + λ_(2) x_(2) = 0 .$] Multiply the first by #math.equation(block: false, alt: "x sub 2")[$x_(2)$] and the second by #math.equation(block: false, alt: "x sub 1")[$x_(1)$] and subtract to get #math.equation(block: true, alt: "open parenthesis λ sub 1 minus λ sub 2 close parenthesis x sub 1 x sub 2 equals x 2 ″ x sub 1 minus x sub 2 x 1 ″ .")[$( λ_(1) − λ_(2) ) x_(1) x_(2) = x_(2)^(″) x_(1) − x_(2) x_(1)^(″) .$] Now integrate both sides of the equation. #math.equation(block: true, alt: "open parenthesis λ sub 1 minus λ sub 2 close parenthesis ∫ a b x sub 1 x sub 2 d t equals ∫ a b x 2 ″ x sub 1 minus x sub 2 x 1 ″ d t; equals ∫ a b the fraction d over d t open parenthesis x 2 ′ x sub 1 minus x sub 2 x 1 ′ close parenthesis d t; equals [ x 2 ′ x sub 1 minus x sub 2 x 1 ′ ] t equals a b equals 0 .")[$( λ_(1) − λ_(2) ) ∫_(a)^(b) x_(1) x_(2) d t = ∫_(a)^(b) x_(2)^(″) x_(1) − x_(2) x_(1)^(″) d t \ = ∫_(a)^(b) frac(d, d t) ( x_(2)^(′) x_(1) − x_(2) x_(1)^(′) ) d t \ = [ x_(2)^(′) x_(1) − x_(2) x_(1)^(′) ]_(t = a)^(b) = 0 .$] The last equality holds because of the boundary conditions. For example, if we consider (4.1.1) we have #math.equation(block: false, alt: "x sub 1 open parenthesis a close parenthesis equals x sub 1 open parenthesis b close parenthesis equals x sub 2 open parenthesis a close parenthesis equals x sub 2 open parenthesis b close parenthesis equals 0")[$x_(1) ( a ) = x_(1) ( b ) = x_(2) ( a ) = x_(2) ( b ) = 0$] and so #math.equation(block: false, alt: "x 2 ′ x sub 1 minus x sub 2 x 1 ′")[$x_(2)^(′) x_(1) − x_(2) x_(1)^(′)$] is zero at both #math.equation(block: false, alt: "a")[$a$] and #math.equation(block: false, alt: "b")[$b$]. As #math.equation(block: false, alt: "λ sub 1 not equal to λ sub 2")[$λ_(1) ≠ λ_(2)$], the theorem follows. #notebox("Your Turn", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[(easy)] Finish the theorem (check the last equality in the proof) for the cases (4.1.2) and (4.1.3). ] We have seen previously that #math.equation(block: false, alt: "sin open parenthesis n t close parenthesis")[$sin ( n t )$] was an eigenfunction for the problem #math.equation(block: false, alt: "x double prime plus λ x equals 0 , x open parenthesis 0 close parenthesis equals 0 , x open parenthesis π close parenthesis equals 0")[$x^(″) + λ x = 0 , #h(0.222em) x ( 0 ) = 0 , #h(0.222em) x ( π ) = 0$]. Hence we have the integral #math.equation(block: true, alt: "∫ 0 π sin open parenthesis m t close parenthesis sin open parenthesis n t close parenthesis d t equals 0 , when m ⧸ equals n .")[$∫_(0)^(π) sin ( m t ) sin ( n t ) d t = 0 , #h(1em) "when " m "⧸" = n .$] Similarly, #math.equation(block: true, alt: "∫ 0 π cos open parenthesis m t close parenthesis cos open parenthesis n t close parenthesis d t equals 0 , when m ⧸ equals n , and ∫ 0 π cos open parenthesis n t close parenthesis d t equals 0 .")[$∫_(0)^(π) cos ( m t ) cos ( n t ) d t = 0 , #h(1em) "when " m "⧸" = n , #h(2em) "and" #h(2em) ∫_(0)^(π) cos ( n t ) d t = 0 .$] And finally we also get #math.equation(block: true, alt: "∫ minus π π sin open parenthesis m t close parenthesis sin open parenthesis n t close parenthesis d t equals 0 , when m ⧸ equals n , and ∫ minus π π sin open parenthesis n t close parenthesis d t equals 0 ,")[$∫_(− π)^(π) sin ( m t ) sin ( n t ) d t = 0 , #h(1em) "when " m "⧸" = n , #h(2em) "and" #h(2em) ∫_(− π)^(π) sin ( n t ) d t = 0 ,$] #math.equation(block: true, alt: "∫ minus π π cos open parenthesis m t close parenthesis cos open parenthesis n t close parenthesis d t equals 0 , when m ⧸ equals n , and ∫ minus π π cos open parenthesis n t close parenthesis d t equals 0 ,")[$∫_(− π)^(π) cos ( m t ) cos ( n t ) d t = 0 , #h(1em) "when " m "⧸" = n , #h(2em) "and" #h(2em) ∫_(− π)^(π) cos ( n t ) d t = 0 ,$] and #math.equation(block: true, alt: "∫ minus π π cos open parenthesis m t close parenthesis sin open parenthesis n t close parenthesis d t equals 0 (even if m equals n ).")[$∫_(− π)^(π) cos ( m t ) sin ( n t ) d t = 0 #h(2em) "(even if " m = n ")."$] === Fredholm Alternative We now touch on a very useful theorem in the theory of differential equations. The theorem holds in a more general setting than we are going to state it, but for our purposes the following statement is sufficient. We will give a slightly more general version in #link("https://math.libretexts.org/Bookshelves/Differential_Equations/Differential_Equations_for_Engineers_(Lebl)/5%3A_Eigenvalue_problems")[Chapter 5]. #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #strong[Fredholm alternative] #math.equation(block: false, alt: "cubed")[$3$] Exactly one of the following statements holds. Either #math.equation(block: true, alt: "x double prime plus λ x equals 0 , x open parenthesis a close parenthesis equals 0 , x open parenthesis b close parenthesis equals 0")[$x^(″) + λ x = 0 , " " " " " " " " x ( a ) = 0 , " " " " " " " " x ( b ) = 0$] has a nonzero solution, or #math.equation(block: true, alt: "x double prime plus λ x equals f open parenthesis t close parenthesis , x open parenthesis a close parenthesis equals 0 , x open parenthesis b close parenthesis equals 0")[$x^(″) + λ x = f ( t ) , " " " " " " " " x ( a ) = 0 , " " " " " " " " x ( b ) = 0$] has a unique solution for every function #math.equation(block: false, alt: "f")[$f$] continuous on #math.equation(block: false, alt: "[ a , b ]")[$[ a , b ]$]. ] The theorem is also true for the other types of boundary conditions we considered. The theorem means that if #math.equation(block: false, alt: "λ")[$λ$] is not an eigenvalue, the nonhomogeneous equation (4.1.4) has a unique solution for every right hand side. On the other hand if #math.equation(block: false, alt: "λ")[$λ$] is an eigenvalue, then (4.1.4) need not have a solution for every #math.equation(block: false, alt: "f")[$f$], and furthermore, even if it happens to have a solution, the solution is not unique. We also want to reinforce the idea here that linear differential operators have much in common with matrices. So it is no surprise that there is a finite dimensional version of Fredholm alternative for matrices as well. Let #math.equation(block: false, alt: "A")[$A$] be an #math.equation(block: false, alt: "n times n")[$n × n$] matrix. The Fredholm alternative then states that either #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis x → equals 0 →")[$( A − λ I ) arrow(x) = arrow(0)$] has a nontrivial solution, or #math.equation(block: false, alt: "open parenthesis A minus λ I close parenthesis x → equals b →")[$( A − λ I ) arrow(x) = arrow(b)$] has a solution for every #math.equation(block: false, alt: "b →")[$arrow(b)$]. A lot of intuition from linear algebra can be applied to linear differential operators, but one must be careful of course. For example, one difference we have already seen is that in general a differential operator will have infinitely many eigenvalues, while a matrix has only finitely many. ==== Application Let us consider a physical application of an endpoint problem. Suppose we have a tightly stretched quickly spinning elastic string or rope of uniform linear density #math.equation(block: false, alt: "ρ")[$ρ$]. Let us put this problem into the #math.equation(block: false, alt: "x y minus")[$x y −$]plane. The #math.equation(block: false, alt: "x")[$x$] axis represents the position on the string. The string rotates at angular velocity #math.equation(block: false, alt: "ω")[$ω$], so we will assume that the whole #math.equation(block: false, alt: "x y minus")[$x y −$]plane rotates at angular velocity #math.equation(block: false, alt: "ω")[$ω$]. We will assume that the string stays in this #math.equation(block: false, alt: "x y minus")[$x y −$]plane and #math.equation(block: false, alt: "y")[$y$] will measure its deflection from the equilibrium position, #math.equation(block: false, alt: "y equals 0")[$y = 0$], on the #math.equation(block: false, alt: "x")[$x$] axis. Hence, we will find a graph giving the shape of the string. We will idealize the string to have no volume to just be a mathematical curve. If we take a small segment and we look at the tension at the endpoints, we see that this force is tangential and we will assume that the magnitude is the same at both end points. Hence the magnitude is constant everywhere and we will call its magnitude #math.equation(block: false, alt: "T")[$T$]. If we assume that the deflection is small, then we can use Newton’s second law to get an equation #math.equation(block: true, alt: "T y double prime plus ρ ω squared y equals 0 .")[$T y^(″) + ρ ω^(2) y = 0 .$] Let #math.equation(block: false, alt: "L")[$L$] be the length of the string and the string is fixed at the beginning and end points. Hence, #math.equation(block: false, alt: "y open parenthesis 0 close parenthesis equals 0")[$y ( 0 ) = 0$] and #math.equation(block: false, alt: "y open parenthesis L close parenthesis equals 0")[$y ( L ) = 0$]. See Figure #math.equation(block: false, alt: "1")[$1$]. #figure(figph[Diagram of a whirling string from 0 to L on the x-axis, bowed into one upward hump; an arrow labelled y marks the displacement and a looped arrow shows it spinning about the axis.], alt: "Diagram of a whirling string from 0 to L on the x-axis, bowed into one upward hump; an arrow labelled y marks the displacement and a looped arrow shows it spinning about the axis.", caption: [Figure #math.equation(block: false, alt: "1")[$1$]: Whirling string.]) We rewrite the equation as #math.equation(block: false, alt: "y double prime plus the fraction ρ ω squared over T y equals 0")[$y^(″) + frac(ρ ω^(2), T) y = 0$]. The setup is similar to Example #math.equation(block: false, alt: "3")[$3$], except for the interval length being #math.equation(block: false, alt: "L")[$L$] instead of #math.equation(block: false, alt: "π")[$π$]. We are looking for eigenvalues of #math.equation(block: false, alt: "y double prime plus λ y equals 0 , y open parenthesis 0 close parenthesis equals 0 , y open parenthesis L close parenthesis equals 0")[$y^(″) + λ y = 0 , y ( 0 ) = 0 , y ( L ) = 0$] where #math.equation(block: false, alt: "λ equals the fraction ρ ω squared over T")[$λ = frac(ρ ω^(2), T)$]. As before there are no nonpositive eigenvalues. With #math.equation(block: false, alt: "λ greater than 0")[$λ > 0$], the general solution to the equation is #math.equation(block: false, alt: "y equals A cos open parenthesis the square root of λ x close parenthesis plus B sin open parenthesis the square root of λ x close parenthesis")[$y = A cos ( sqrt(λ) x ) + B sin ( sqrt(λ) x )$]. The condition #math.equation(block: false, alt: "y open parenthesis 0 close parenthesis equals 0")[$y ( 0 ) = 0$] implies that #math.equation(block: false, alt: "A equals 0")[$A = 0$] as before. The condition #math.equation(block: false, alt: "y open parenthesis L close parenthesis equals 0")[$y ( L ) = 0$] implies that #math.equation(block: false, alt: "sin open parenthesis the square root of λ L close parenthesis equals 0")[$sin ( sqrt(λ) L ) = 0$] and hence #math.equation(block: false, alt: "the square root of λ L equals k π")[$sqrt(λ) L = k π$] for some integer #math.equation(block: false, alt: "k greater than 0")[$k > 0$], so #math.equation(block: true, alt: "the fraction ρ ω squared over T equals λ equals the fraction k squared π squared over L squared .")[$frac(ρ ω^(2), T) = λ = frac(k^(2) π^(2), L^(2)) .$] What does this say about the shape of the string? It says that for all parameters #math.equation(block: false, alt: "ρ")[$ρ$], #math.equation(block: false, alt: "ω")[$ω$], #math.equation(block: false, alt: "T")[$T$] not satisfying the equation above, the string is in the equilibrium position, #math.equation(block: false, alt: "y equals 0")[$y = 0$]. When #math.equation(block: false, alt: "the fraction ρ ω squared over T equals the fraction k squared π squared over L squared")[$frac(ρ ω^(2), T) = frac(k^(2) π^(2), L^(2))$], then the string will some distance #math.equation(block: false, alt: "B")[$B$]. We cannot compute #math.equation(block: false, alt: "B")[$B$] with the information we have. Let us assume that #math.equation(block: false, alt: "ρ")[$ρ$] and #math.equation(block: false, alt: "T")[$T$] are fixed and we are changing #math.equation(block: false, alt: "ω")[$ω$]. For most values of #math.equation(block: false, alt: "ω")[$ω$] the string is in the equilibrium state. When the angular velocity #math.equation(block: false, alt: "ω")[$ω$] hits a value #math.equation(block: false, alt: "ω equals the fraction k π the square root of T over L the square root of ρ")[$ω = frac(k π sqrt(T), L sqrt(ρ))$], then the string pops out and has the shape of a sin wave crossing the #math.equation(block: false, alt: "x")[$x$]-axis #math.equation(block: false, alt: "k minus 1")[$k − 1$] times between the end points. For example, at #math.equation(block: false, alt: "k equals 1")[$k = 1$], the string does not cross the #math.equation(block: false, alt: "x")[$x$]-axis and the shape looks like in Figure #math.equation(block: false, alt: "1")[$1$]. On the other hand, when #math.equation(block: false, alt: "k equals 3")[$k = 3$] the string crosses the #math.equation(block: false, alt: "x")[$x$]-axis 2 times, see Figure #math.equation(block: false, alt: "2")[$2$]. When #math.equation(block: false, alt: "ω")[$ω$] changes again, the string returns to the equilibrium position. The higher the angular velocity, the more times it crosses the #math.equation(block: false, alt: "x")[$x$]-axis when it is popped out. #figure(figph[Diagram of a whirling string from 0 to L, bowed into three half-arches, up then down then up, so it crosses the x-axis twice between the fixed ends while spinning about that axis.], alt: "Diagram of a whirling string from 0 to L, bowed into three half-arches, up then down then up, so it crosses the x-axis twice between the fixed ends while spinning about that axis.", caption: [Figure #math.equation(block: false, alt: "2")[$2$]: Whirling string at the third eigenvalue #math.equation(block: false, alt: "open parenthesis k equals 3 close parenthesis")[$( k = 3 )$].]) For another example, if you have a spinning jump rope (then #math.equation(block: false, alt: "k equals 1")[$k = 1$] as it is completely ) and you pull on the ends to increase the tension, then the velocity also increases for the rope to stay "popped out". === Footnotes \[1\] See Example 2.2.1 and Example 2.2.3. \[2\] Recall that #math.equation(block: false, alt: "cosh s equals the fraction 1 over 2 open parenthesis e to the power s plus e to the power minus s close parenthesis")[$cosh s = frac(1, 2) ( e^(s) + e^(− s) )$] and #math.equation(block: false, alt: "sinh s equals the fraction 1 over 2 open parenthesis e to the power s minus e to the power minus s close parenthesis")[$sinh s = frac(1, 2) ( e^(s) − e^(− s) )$]. As an exercise try the computation with the general solution written as #math.equation(block: false, alt: "x equals A e to the power the square root of minus λ t plus B e to the power minus the square root of minus λ t")[$x = A e^(sqrt(− λ) t) + B e^(− sqrt(− λ) t)$] (for different #math.equation(block: false, alt: "A")[$A$] and #math.equation(block: false, alt: "B")[$B$] of course). \[3\] Named after the Swedish mathematician Erik Ivar Fredholm (1866–1927).