#set document(title: "5.2 Application of Eigenfunction Series", 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")) == 5.2#h(0.6em)Application of Eigenfunction Series The eigenfunction series can arise even from higher order equations. Consider an elastic beam (say made of steel). We will study the transversal vibrations of the beam. That is, suppose the beam lies along the #math.equation(block: false, alt: "x")[$x$]-axis and let #math.equation(block: false, alt: "y open parenthesis x , t close parenthesis")[$y ( x , t )$] measure the displacement of the point #math.equation(block: false, alt: "x")[$x$] on the beam at time #math.equation(block: false, alt: "t")[$t$]. See Figure #math.equation(block: false, alt: "1")[$1$]. #figure(figph[A beam in the shape of an arc in the xy-plane.], alt: "A beam in the shape of an arc in the xy-plane.", caption: [Figure #math.equation(block: false, alt: "1")[$1$]: Transversal vibrations of a beam.]) The equation that governs this setup is #math.equation(block: true, alt: "a to the power 4 the fraction ∂ to the power 4 y over ∂ x to the power 4 plus the fraction ∂ squared y over ∂ t squared equals 0 ,")[$a^(4) frac(∂^(4) y, ∂ x^(4)) + frac(∂^(2) y, ∂ t^(2)) = 0 ,$] for some constant #math.equation(block: false, alt: "a greater than 0")[$a > 0$], let us not worry about the physics#math.equation(block: false, alt: "to the power 1")[$1$]. Suppose the beam is of length #math.equation(block: false, alt: "1")[$1$] simply supported (hinged) at the ends. The beam is displaced by some function #math.equation(block: false, alt: "f open parenthesis x close parenthesis")[$f ( x )$] at time #math.equation(block: false, alt: "t equals 0")[$t = 0$] and then let go (initial velocity is #math.equation(block: false, alt: "0")[$0$]). Then #math.equation(block: false, alt: "y")[$y$] satisfies: #math.equation(block: true, alt: "a to the power 4 y sub x x x x plus y sub t t equals 0 open parenthesis 0 less than x less than 1 , t greater than 0 close parenthesis ,; y open parenthesis 0 , t close parenthesis equals y sub x x open parenthesis 0 , t close parenthesis equals 0 ,; y open parenthesis 1 , t close parenthesis equals y sub x x open parenthesis 1 , t close parenthesis equals 0 ,; y open parenthesis x , 0 close parenthesis equals f open parenthesis x close parenthesis , y sub t open parenthesis x , 0 close parenthesis equals 0 .")[$a^(4) y_(x x x x) + y_(t t) = 0 #h(2em) ( 0 < x < 1 , #h(0.5em) t > 0 ) , \ y ( 0 , t ) = y_(x x) ( 0 , t ) = 0 , \ y ( 1 , t ) = y_(x x) ( 1 , t ) = 0 , \ y ( x , 0 ) = f ( x ) , #h(2em) y_(t) ( x , 0 ) = 0 .$] Again we try #math.equation(block: false, alt: "y open parenthesis x , t close parenthesis equals X open parenthesis x close parenthesis T open parenthesis t close parenthesis")[$y ( x , t ) = X ( x ) T ( t )$] and plug in to get #math.equation(block: false, alt: "a to the power 4 X to the power open parenthesis 4 close parenthesis T plus X T double prime equals 0")[$a^(4) X^(( 4 )) T + X T^(″) = 0$] or #math.equation(block: true, alt: "the fraction X to the power open parenthesis 4 close parenthesis over X equals the fraction minus T double prime over a to the power 4 T equals λ .")[$frac(X^(( 4 )), X) = frac(− T^(″), a^(4) T) = λ .$] The equations are #math.equation(block: true, alt: "T double prime plus λ a to the power 4 T equals 0 , X to the power open parenthesis 4 close parenthesis minus λ X equals 0 .")[$T^(″) + λ a^(4) T = 0 , #h(2em) X^(( 4 )) − λ X = 0 .$] The boundary conditions #math.equation(block: false, alt: "y open parenthesis 0 , t close parenthesis equals y sub x x open parenthesis 0 , t close parenthesis equals 0")[$y ( 0 , t ) = y_(x x) ( 0 , t ) = 0$] and #math.equation(block: false, alt: "y open parenthesis 1 , t close parenthesis equals y sub x x open parenthesis 1 , t close parenthesis equals 0")[$y ( 1 , t ) = y_(x x) ( 1 , t ) = 0$] imply #math.equation(block: true, alt: "X open parenthesis 0 close parenthesis equals X double prime open parenthesis 0 close parenthesis equals 0 , and X open parenthesis 1 close parenthesis equals X double prime open parenthesis 1 close parenthesis equals 0 .")[$X ( 0 ) = X^(″) ( 0 ) = 0 , #h(2em) "and" #h(2em) X ( 1 ) = X^(″) ( 1 ) = 0 .$] The initial homogeneous condition #math.equation(block: false, alt: "y sub t open parenthesis x , 0 close parenthesis equals 0")[$y_(t) ( x , 0 ) = 0$] implies #math.equation(block: true, alt: "T prime open parenthesis 0 close parenthesis equals 0 .")[$T^(′) ( 0 ) = 0 .$] As usual, we leave the nonhomogeneous #math.equation(block: false, alt: "y open parenthesis x , 0 close parenthesis equals f open parenthesis x close parenthesis")[$y ( x , 0 ) = f ( x )$] for later. Considering the equation for #math.equation(block: false, alt: "T")[$T$], that is, #math.equation(block: false, alt: "T double prime plus λ a to the power 4 T equals 0")[$T^(″) + λ a^(4) T = 0$], and physical intuition leads us to the fact that if #math.equation(block: false, alt: "λ")[$λ$] is an eigenvalue then #math.equation(block: false, alt: "λ greater than 0")[$λ > 0$]: We expect vibration and not exponential growth nor decay in the #math.equation(block: false, alt: "t")[$t$] direction (there is no friction in our model for instance). So there are no negative eigenvalues. Similarly #math.equation(block: false, alt: "λ equals 0")[$λ = 0$] is not an eigenvalue. #notebox("Your Turn", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ Justify #math.equation(block: false, alt: "λ greater than 0")[$λ > 0$] just from the equation for #math.equation(block: false, alt: "X")[$X$] and the boundary conditions. ] Write #math.equation(block: false, alt: "ω to the power 4 equals λ")[$ω^(4) = λ$], so that we do not need to write the fourth root all the time. For #math.equation(block: false, alt: "X")[$X$] we get the equation #math.equation(block: false, alt: "X to the power open parenthesis 4 close parenthesis minus ω to the power 4 X equals 0")[$X^(( 4 )) − ω^(4) X = 0$]. The general solution is #math.equation(block: true, alt: "X open parenthesis x close parenthesis equals A e to the power ω x plus B e to the power minus ω x plus C sin open parenthesis ω x close parenthesis plus D cos open parenthesis ω x close parenthesis .")[$X ( x ) = A e^(ω x) + B e^(− ω x) + C sin ( ω x ) + D cos ( ω x ) .$] Now #math.equation(block: false, alt: "0 equals X open parenthesis 0 close parenthesis A plus B plus D , 0 equals X double prime open parenthesis 0 close parenthesis equals ω squared open parenthesis A plus B minus D close parenthesis")[$0 = X ( 0 ) A + B + D , 0 = X^(″) ( 0 ) = ω^(2) ( A + B − D )$]. Hence, #math.equation(block: false, alt: "D equals 0")[$D = 0$] and #math.equation(block: false, alt: "A plus B equals 0")[$A + B = 0$], or #math.equation(block: false, alt: "B equals minus A")[$B = − A$]. So we have #math.equation(block: true, alt: "X open parenthesis x close parenthesis equals A e to the power ω x minus A e to the power minus ω x plus C sin open parenthesis ω x close parenthesis .")[$X ( x ) = A e^(ω x) − A e^(− ω x) + C sin ( ω x ) .$] Also #math.equation(block: false, alt: "0 equals X open parenthesis 1 close parenthesis equals A open parenthesis e to the power ω minus e to the power minus ω close parenthesis plus C sin ω")[$0 = X ( 1 ) = A ( e^(ω) − e^(− ω) ) + C sin ω$], and #math.equation(block: false, alt: "0 equals X double prime open parenthesis 1 close parenthesis equals A ω squared open parenthesis e to the power ω minus e to the power minus ω close parenthesis minus C ω squared sin ω")[$0 = X^(″) ( 1 ) = A ω^(2) ( e^(ω) − e^(− ω) ) − C ω^(2) sin ω$]. This means that #math.equation(block: false, alt: "C sin ω equals 0")[$C sin ω = 0$] and #math.equation(block: false, alt: "A open parenthesis e to the power ω minus e to the power minus ω close parenthesis equals 2 A sinh ω equals 0")[$A ( e^(ω) − e^(− ω) ) = 2 A sinh ω = 0$]. If #math.equation(block: false, alt: "ω greater than 0")[$ω > 0$], then #math.equation(block: false, alt: "ω not equal to 0")[$ω ≠ 0$] and so #math.equation(block: false, alt: "A equals 0")[$A = 0$]. This means that #math.equation(block: false, alt: "C not equal to 0")[$C ≠ 0$] otherwise #math.equation(block: false, alt: "λ")[$λ$] is not an eigenvalue. Also #math.equation(block: false, alt: "ω")[$ω$] must be an integer multiple of #math.equation(block: false, alt: "π")[$π$]. Hence #math.equation(block: false, alt: "ω equals n π")[$ω = n π$] and #math.equation(block: false, alt: "n greater than or equal to 1")[$n ≥ 1$] (as #math.equation(block: false, alt: "ω greater than 0")[$ω > 0$]). We can take #math.equation(block: false, alt: "C equals 1")[$C = 1$]. So the eigenvalues are #math.equation(block: false, alt: "λ sub n equals n to the power 4 π to the power 4")[$λ_(n) = n^(4) π^(4)$] and the eigenfunctions are #math.equation(block: false, alt: "sin open parenthesis n π x close parenthesis")[$sin ( n π x )$]. Now #math.equation(block: false, alt: "T double prime plus n to the power 4 π to the power 4 a to the power 4 T equals 0")[$T^(″) + n^(4) π^(4) a^(4) T = 0$]. The general solution is #math.equation(block: false, alt: "T open parenthesis t close parenthesis equals A sin open parenthesis n squared π squared a squared t close parenthesis plus B cos open parenthesis n squared π squared a squared t close parenthesis")[$T ( t ) = A sin ( n^(2) π^(2) a^(2) t ) + B cos ( n^(2) π^(2) a^(2) t )$]. But #math.equation(block: false, alt: "T prime open parenthesis 0 close parenthesis equals 0")[$T^(′) ( 0 ) = 0$] and hence we must have #math.equation(block: false, alt: "A equals 0")[$A = 0$] and we can take #math.equation(block: false, alt: "B equals 1")[$B = 1$] to make #math.equation(block: false, alt: "T open parenthesis 0 close parenthesis equals 1")[$T ( 0 ) = 1$] for convenience. So our solutions are #math.equation(block: false, alt: "T sub n open parenthesis t close parenthesis equals cos open parenthesis n squared π squared a squared t close parenthesis")[$T_(n) ( t ) = cos ( n^(2) π^(2) a^(2) t )$]. As the eigenfunctions are just sines again, we can decompose the function #math.equation(block: false, alt: "f open parenthesis x close parenthesis")[$f ( x )$] on #math.equation(block: false, alt: "0 less than x less than 1")[$0 < x < 1$] using the sine series. We find numbers #math.equation(block: false, alt: "b sub n")[$b_(n)$] such that for #math.equation(block: false, alt: "0 less than x less than 1")[$0 < x < 1$] we have #math.equation(block: true, alt: "f open parenthesis x close parenthesis equals ∑ n equals 1 infinity b sub n sin open parenthesis n π x close parenthesis .")[$f ( x ) = ∑_(n = 1)^(∞) b_(n) sin ( n π x ) .$] Then the solution to (5.2.1) is #math.equation(block: true, alt: "y open parenthesis x , t close parenthesis equals ∑ n equals 1 infinity b sub n X sub n open parenthesis x close parenthesis T sub n open parenthesis t close parenthesis equals ∑ n equals 1 infinity b sub n sin open parenthesis n π x close parenthesis cos open parenthesis n squared π squared a squared t close parenthesis .")[$y ( x , t ) = ∑_(n = 1)^(∞) b_(n) X_(n) ( x ) T_(n) ( t ) = ∑_(n = 1)^(∞) b_(n) sin ( n π x ) cos ( n^(2) π^(2) a^(2) t ) .$] The point is that #math.equation(block: false, alt: "X sub n T sub n")[$X_(n) T_(n)$] is a solution that satisfies all the homogeneous conditions (that is, all conditions except the initial position). And since and #math.equation(block: false, alt: "T sub n open parenthesis 0 close parenthesis equals 1")[$T_(n) ( 0 ) = 1$], we have #math.equation(block: true, alt: "y open parenthesis x , 0 close parenthesis equals ∑ n equals 1 infinity b sub n X sub n open parenthesis x close parenthesis T sub n open parenthesis 0 close parenthesis equals ∑ n equals 1 infinity b sub n X sub n open parenthesis x close parenthesis equals ∑ n equals 1 infinity b sub n sin open parenthesis n π x close parenthesis equals f open parenthesis x close parenthesis .")[$y ( x , 0 ) = ∑_(n = 1)^(∞) b_(n) X_(n) ( x ) T_(n) ( 0 ) = ∑_(n = 1)^(∞) b_(n) X_(n) ( x ) = ∑_(n = 1)^(∞) b_(n) sin ( n π x ) = f ( x ) .$] So #math.equation(block: false, alt: "y open parenthesis x , t close parenthesis")[$y ( x , t )$] solves (5.2.1). The natural (circular) frequencies of the system are #math.equation(block: false, alt: "n squared π squared a squared")[$n^(2) π^(2) a^(2)$]. These frequencies are all integer multiples of the fundamental frequency #math.equation(block: false, alt: "π squared a squared")[$π^(2) a^(2)$], so we get a nice musical note. The exact frequencies and their amplitude are what we call the #emph[timbre]of the note. The timbre of a beam is different than for a vibrating string where we get “more” of the lower frequencies since we get all integer multiples, #math.equation(block: false, alt: "1 , 2 , 3 , 4 , 5 , …")[$1 , 2 , 3 , 4 , 5 , …$]. For a steel beam we get only the square multiples #math.equation(block: false, alt: "1 , 4 , 9 , 16 , 25 , …")[$1 , 4 , 9 , 16 , 25 , …$]. That is why when you hit a steel beam you hear a very pure sound. The sound of a xylophone or vibraphone is, therefore, very different from a guitar or piano. #examplebox("Example 1")[][ Let us assume that #math.equation(block: false, alt: "f open parenthesis x close parenthesis equals the fraction x open parenthesis x minus 1 close parenthesis over 10")[$f ( x ) = frac(x ( x − 1 ), 10)$]. On #math.equation(block: false, alt: "0 less than x less than 1")[$0 < x < 1$] we have (you know how to do this by now) #math.equation(block: true, alt: "f open parenthesis x close parenthesis equals ∑ n equals 1 n o d d infinity the fraction 4 over 5 π cubed n cubed sin open parenthesis n π x close parenthesis .")[$f ( x ) = ∑_(limits(n = 1)_(upright(n) " " upright(o) upright(d) upright(d)))^(∞) frac(4, 5 π^(3) n^(3)) sin ( n π x ) .$] Hence, the solution to (5.2.1) with the given initial position #math.equation(block: false, alt: "f open parenthesis x close parenthesis")[$f ( x )$] is #math.equation(block: true, alt: "y open parenthesis x , t close parenthesis equals ∑ n equals 1 n o d d infinity the fraction 4 over 5 π cubed n cubed sin open parenthesis n π x close parenthesis cos open parenthesis n squared π squared a squared t close parenthesis .")[$y ( x , t ) = ∑_(limits(n = 1)_(upright(n) " " upright(o) upright(d) upright(d)))^(∞) frac(4, 5 π^(3) n^(3)) sin ( n π x ) cos ( n^(2) π^(2) a^(2) t ) .$] ] There are other boundary conditions than just hinged ends. There are three basic possibilities: hinged, free, or fixed. Let us consider the end at #math.equation(block: false, alt: "x equals 0")[$x = 0$]. For the other end, it is the same idea. If the end is #emph[hinged], then #math.equation(block: true, alt: "u open parenthesis 0 , t close parenthesis equals u sub x x open parenthesis 0 , t close parenthesis equals 0 .")[$u ( 0 , t ) = u_(x x) ( 0 , t ) = 0 .$] If the end is #emph[free], that is, it is just floating in air, then #math.equation(block: true, alt: "u sub x x open parenthesis 0 , t close parenthesis equals u sub x x x open parenthesis 0 , t close parenthesis equals 0 .")[$u_(x x) ( 0 , t ) = u_(x x x) ( 0 , t ) = 0 .$] And finally, if the end is #emph[clamped] or #emph[fixed], for example it is welded to a wall, then #math.equation(block: true, alt: "u open parenthesis 0 , t close parenthesis equals u sub x open parenthesis 0 , t close parenthesis equals 0 .")[$u ( 0 , t ) = u_(x) ( 0 , t ) = 0 .$] === Footnotes \[1\] If you are interested, #math.equation(block: false, alt: "a to the power 4 equals the fraction E I over ρ")[$a^(4) = frac(E I, ρ)$], where #math.equation(block: false, alt: "E")[$E$] is the elastic modulus, #math.equation(block: false, alt: "I")[$I$] is the second moment of area of the cross section, and #math.equation(block: false, alt: "ρ")[$ρ$] is linear density.