#set document(title: "4.10 Dirichlet Problem in the Circle and the Poisson Kernel", 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.10#h(0.6em)Dirichlet Problem in the Circle and the Poisson Kernel === Laplace in Polar Coordinates A more natural setting for the Laplace equation #math.equation(block: false, alt: "Δ u equals 0")[$Δ u = 0$] is the circle rather than the square. On the other hand, what makes the problem somewhat more difficult is that we need polar coordinates. #figure(figph[Diagram of polar coordinates: a ray from the origin into the first quadrant ending at a point labelled (r, theta), the ray labelled r and an arc marking the angle theta.], alt: "Diagram of polar coordinates: a ray from the origin into the first quadrant ending at a point labelled (r, theta), the ray labelled r and an arc marking the angle theta.", caption: [Figure #math.equation(block: false, alt: "1")[$1$]]) Recall that the polar coordinates for the #math.equation(block: false, alt: "open parenthesis x , y close parenthesis")[$( x , y )$]-plane are #math.equation(block: false, alt: "open parenthesis r , θ close parenthesis")[$( r , θ )$]: #math.equation(block: true, alt: "x equals r cos θ , y equals r sin θ ,")[$x = r cos θ , " " " " " " " " y = r sin θ ,$] where #math.equation(block: false, alt: "r greater than or equal to 0")[$r ≥ 0$] and #math.equation(block: false, alt: "minus π less than θ less than π")[$− π < θ < π$]. So #math.equation(block: false, alt: "open parenthesis x , y close parenthesis")[$( x , y )$] is distance #math.equation(block: false, alt: "r")[$r$] from the origin at angle #math.equation(block: false, alt: "θ")[$θ$] from the positive #math.equation(block: false, alt: "x")[$x$]-axis. #figure(figph[Diagram of the Dirichlet problem in a disc: a circle centred at the origin with delta u equals 0 inside, an arrow marking radius 1, and the rim labelled u of 1 and theta equals g of theta.], alt: "Diagram of the Dirichlet problem in a disc: a circle centred at the origin with delta u equals 0 inside, an arrow marking radius 1, and the rim labelled u of 1 and theta equals g of theta.", caption: [Figure #math.equation(block: false, alt: "2")[$2$]]) Now that we know our coordinates, let us give the problem we wish to solve. We have a circular region of radius 1, and we are interested in the Dirichlet problem for the Laplace equation for this region. Let #math.equation(block: false, alt: "u open parenthesis r , θ close parenthesis")[$u ( r , θ )$] denote the temperature at the point #math.equation(block: false, alt: "open parenthesis r , θ close parenthesis")[$( r , θ )$] in polar coordinates. We have the problem: #math.equation(block: true, alt: "Δ u equals 0 , f o r r less than 1 ,; u open parenthesis 1 , θ close parenthesis equals g open parenthesis θ close parenthesis , f o r π less than θ less than or equal to π .")[$Δ u = 0 , upright(f) upright(o) upright(r) " " r < 1 , \ u ( 1 , θ ) = g ( θ ) , upright(f) upright(o) upright(r) " " π < θ ≤ π .$] The first issue we face is that we do not know what the Laplacian is in polar coordinates. Normally we would find #math.equation(block: false, alt: "u sub x x")[$u_(x x)$] and #math.equation(block: false, alt: "u sub y y")[$u_(y y)$] in terms of the derivatives in #math.equation(block: false, alt: "r")[$r$] and #math.equation(block: false, alt: "θ")[$θ$]. We would need to solve for #math.equation(block: false, alt: "r")[$r$] and #math.equation(block: false, alt: "θ")[$θ$] in terms of #math.equation(block: false, alt: "x")[$x$] and #math.equation(block: false, alt: "y")[$y$]. While this is certainly possible, it happens to be more convenient to work in reverse. Let us instead compute derivatives in #math.equation(block: false, alt: "r")[$r$] and #math.equation(block: false, alt: "θ")[$θ$] in terms of derivatives in #math.equation(block: false, alt: "x")[$x$] and #math.equation(block: false, alt: "y")[$y$] and then solve. The computations are easier this way. First #math.equation(block: true, alt: "x sub r equals cos θ , x sub θ equals minus r sin θ ,; y sub r equals sin θ , y sub θ equals r cos θ .")[$x_(r) = cos θ , x_(θ) = − r sin θ , \ y_(r) = sin θ , y_(θ) = r cos θ .$] Next by chain rule we obtain #math.equation(block: true, alt: "u sub r equals u sub x x sub r plus u sub y y sub r equals cos open parenthesis θ close parenthesis u sub x plus sin open parenthesis θ close parenthesis u sub y ,; u sub r r equals cos open parenthesis θ close parenthesis open parenthesis u sub x x x sub r plus u sub x y y sub r close parenthesis plus sin open parenthesis θ close parenthesis open parenthesis u sub y x x sub r plus u sub y y y sub r close parenthesis; equals cos squared open parenthesis θ close parenthesis u sub x x plus 2 cos open parenthesis θ close parenthesis sin open parenthesis θ close parenthesis u sub x y plus sin squared open parenthesis θ close parenthesis u sub y y .")[$u_(r) = u_(x) x_(r) + u_(y) y_(r) = cos ( θ ) u_(x) + sin ( θ ) u_(y) , \ u_(r r) = cos ( θ ) ( u_(x x) x_(r) + u_(x y) y_(r) ) + sin ( θ ) ( u_(y x) x_(r) + u_(y y) y_(r) ) \ = cos^(2) ( θ ) u_(x x) + 2 cos ( θ ) sin ( θ ) u_(x y) + sin^(2) ( θ ) u_(y y) .$] Similarly for the #math.equation(block: false, alt: "θ")[$θ$] derivative. Note that we have to use product rule for the second derivative. #math.equation(block: true, alt: "u sub θ equals u sub x x sub θ plus u sub y y sub θ equals minus r sin open parenthesis θ close parenthesis u sub x plus r cos open parenthesis θ close parenthesis u sub y ,; u sub θ θ equals minus r cos open parenthesis θ close parenthesis open parenthesis u sub x close parenthesis minus r sin open parenthesis θ close parenthesis open parenthesis u sub x x x sub θ plus u sub x y y sub θ close parenthesis minus r sin open parenthesis θ close parenthesis open parenthesis u sub y close parenthesis plus r cos open parenthesis θ close parenthesis open parenthesis u sub y x x sub θ plus u sub y y y sub θ close parenthesis; equals minus r cos open parenthesis θ close parenthesis u sub x minus r sin open parenthesis θ close parenthesis u sub y plus r squared sin squared open parenthesis θ close p")[$u_(θ) = u_(x) x_(θ) + u_(y) y_(θ) = − r sin ( θ ) u_(x) + r cos ( θ ) u_(y) , \ u_(θ θ) = − r cos ( θ ) ( u_(x) ) − r sin ( θ ) ( u_(x x) x_(θ) + u_(x y) y_(θ) ) − r sin ( θ ) ( u_(y) ) + r cos ( θ ) ( u_(y x) x_(θ) + u_(y y) y_(θ) ) \ = − r cos ( θ ) u_(x) − r sin ( θ ) u_(y) + r^(2) sin^(2) ( θ ) u_(x x) − r^(2) 2 sin ( θ ) cos ( θ ) u_(x y) + r^(2) cos^(2) ( θ ) u_(y y) .$] Let us now try to solve for #math.equation(block: false, alt: "u sub x x plus u sub y y")[$u_(x x) + u_(y y)$]. We start with #math.equation(block: false, alt: "the fraction 1 over r squared u sub θ θ")[$frac(1, r^(2)) u_(θ θ)$] to get rid of those pesky #math.equation(block: false, alt: "r squared")[$r^(2)$]. If we add #math.equation(block: false, alt: "u sub r r")[$u_(r r)$] and use the fact that #math.equation(block: false, alt: "cos squared open parenthesis θ close parenthesis plus sin squared open parenthesis θ close parenthesis equals 1")[$cos^(2) ( θ ) + sin^(2) ( θ ) = 1$], we get #math.equation(block: true, alt: "the fraction 1 over r squared u sub θ θ plus u sub r r equals u sub x x plus u sub y y minus the fraction 1 over r cos open parenthesis θ close parenthesis u sub x minus the fraction 1 over r sin open parenthesis θ close parenthesis u sub y .")[$frac(1, r^(2)) u_(θ θ) + u_(r r) = u_(x x) + u_(y y) − frac(1, r) cos ( θ ) u_(x) − frac(1, r) sin ( θ ) u_(y) .$] We’re not quite there yet, but all we are lacking is #math.equation(block: false, alt: "the fraction 1 over r u sub r")[$frac(1, r) u_(r)$]. Adding it we obtain the#emph[Laplacian in polar coordinates]: #math.equation(block: true, alt: "the fraction 1 over r squared u sub θ θ plus the fraction 1 over r u sub r plus u sub r r equals u sub x x plus u sub y y equals Δ u .")[$frac(1, r^(2)) u_(θ θ) + frac(1, r) u_(r) + u_(r r) = u_(x x) + u_(y y) = Δ u .$] Notice that the Laplacian in polar coordinates no longer has constant coefficients. === Series Solution Let us separate variables as usual. That is let us try #math.equation(block: false, alt: "u open parenthesis r , θ close parenthesis equals R open parenthesis r close parenthesis Θ open parenthesis θ close parenthesis")[$u ( r , θ ) = R ( r ) Θ ( θ )$]. Then #math.equation(block: true, alt: "0 equals Δ u equals the fraction 1 over r squared R Θ double prime plus the fraction 1 over r R prime Θ plus R double prime Θ .")[$0 = Δ u = frac(1, r^(2)) R Θ^(″) + frac(1, r) R^(′) Θ + R^(″) Θ .$] Let us put #math.equation(block: false, alt: "R")[$R$] on one side and #math.equation(block: false, alt: "Θ")[$Θ$] on the other and conclude that both sides must be constant. #math.equation(block: true, alt: "the fraction 1 over r squared R Θ double prime equals minus open parenthesis the fraction 1 over r R prime plus R double prime close parenthesis Θ .; the fraction Θ double prime over Θ equals minus the fraction r R prime plus r squared R double prime over R plus minus λ .")[$frac(1, r^(2)) R Θ^(″) = − ( frac(1, r) R^(′) + R^(″) ) Θ . \ frac(Θ^(″), Θ) = − frac(r R^(′) + r^(2) R^(″), R) + − λ .$] We get two equations: #math.equation(block: true, alt: "Θ double prime plus λ Θ equals 0 ,; r squared R double prime plus r R prime minus λ R equals 0 .")[$Θ^(″) + λ Θ = 0 , \ r^(2) R^(″) + r R^(′) − λ R = 0 .$] Let us first focus on #math.equation(block: false, alt: "Θ")[$Θ$]. We know that #math.equation(block: false, alt: "u open parenthesis r , θ close parenthesis")[$u ( r , θ )$] ought to be #math.equation(block: false, alt: "2 π")[$2 π$]-periodic in #math.equation(block: false, alt: "θ")[$θ$], that is, #math.equation(block: false, alt: "u open parenthesis r , θ close parenthesis equals u open parenthesis r , θ plus 2 π close parenthesis")[$u ( r , θ ) = u ( r , θ + 2 π )$]. Therefore, the solution to #math.equation(block: false, alt: "Θ double prime plus λ Θ equals 0")[$Θ^(″) + λ Θ = 0$] must be #math.equation(block: false, alt: "2 π")[$2 π$]-periodic. We have seen such a problem in Example 4.1.5. We conclude that #math.equation(block: false, alt: "λ equals n squared")[$λ = n^(2)$] for a nonnegative integer #math.equation(block: false, alt: "n equals 0 , 1 , 2 , 3 , . . .")[$n = 0 , 1 , 2 , 3 , . . .$]. The equation becomes #math.equation(block: false, alt: "Θ double prime plus n squared Θ equals 0")[$Θ^(″) + n^(2) Θ = 0$]. When #math.equation(block: false, alt: "n equals 0")[$n = 0$] the equation is just #math.equation(block: false, alt: "Θ double prime equals 0")[$Θ^(″) = 0$], so we have the general solution #math.equation(block: false, alt: "A θ plus B")[$A θ + B$]. As #math.equation(block: false, alt: "Θ")[$Θ$] is periodic, #math.equation(block: false, alt: "A equals 0")[$A = 0$]. For convenience let us write this solution as #math.equation(block: true, alt: "Θ sub 0 equals the fraction a sub 0 over 2")[$Θ_(0) = frac(a_(0), 2)$] for some constant #math.equation(block: false, alt: "a sub 0")[$a_(0)$]. For positive #math.equation(block: false, alt: "n")[$n$], the solution to #math.equation(block: false, alt: "Θ double prime plus n squared Θ equals 0")[$Θ^(″) + n^(2) Θ = 0$] is #math.equation(block: true, alt: "Θ sub n equals a sub n cos open parenthesis n θ close parenthesis plus b sub n sin open parenthesis n θ close parenthesis ,")[$Θ_(n) = a_(n) cos ( n θ ) + b_(n) sin ( n θ ) ,$] for some constants #math.equation(block: false, alt: "a sub n")[$a_(n)$] and #math.equation(block: false, alt: "b sub n")[$b_(n)$]. Next, we consider the equation for #math.equation(block: false, alt: "R")[$R$], #math.equation(block: true, alt: "r squared R double prime plus r R prime minus n squared R equals 0 .")[$r^(2) R^(″) + r R^(′) − n^(2) R = 0 .$] This equation has appeared in exercises before—we solved it in Exercise 2.E.2.1.6 and Exercise 2.E.1.7. The idea is to try a solution #math.equation(block: false, alt: "r to the power s")[$r^(s)$] and if that does not work out try a solution of the form #math.equation(block: false, alt: "r to the power s ln r")[$r^(s) ln r$]. When #math.equation(block: false, alt: "n equals 0")[$n = 0$] we obtain #math.equation(block: true, alt: "R sub 0 equals A r to the power 0 plus B r to the power 0 ln r equals A plus B ln r ,")[$R_(0) = A r^(0) + B r^(0) ln r = A + B ln r ,$] and if #math.equation(block: false, alt: "n greater than 0")[$n > 0$], we get #math.equation(block: true, alt: "R sub n equals A r to the power n plus B r to the power minus n .")[$R_(n) = A r^(n) + B r^(− n) .$] The function #math.equation(block: false, alt: "u open parenthesis r , θ close parenthesis")[$u ( r , θ )$] must be finite at the origin, that is, when #math.equation(block: false, alt: "r equals 0")[$r = 0$]. Therefore, #math.equation(block: false, alt: "B equals 0")[$B = 0$] in both cases. Let us set #math.equation(block: false, alt: "A equals 1")[$A = 1$] in both cases as well, the constants in #math.equation(block: false, alt: "Θ sub n")[$Θ_(n)$] will pick up the slack so we do not lose anything. Therefore let #math.equation(block: true, alt: "R sub 0 equals 1 , and R sub n equals r to the power n .")[$R_(0) = 1 , #h(1em) "and" #h(1em) R_(n) = r^(n) .$] Hence our building block solutions are #math.equation(block: true, alt: "u sub 0 open parenthesis r , θ close parenthesis equals the fraction a sub 0 over 2 , u sub n open parenthesis r , θ close parenthesis equals a sub n r to the power n cos open parenthesis n θ close parenthesis plus b sub n r to the power n sin open parenthesis n θ close parenthesis .")[$u_(0) ( r , θ ) = frac(a_(0), 2) , #h(1em) u_(n) ( r , θ ) = a_(n) r^(n) cos ( n θ ) + b_(n) r^(n) sin ( n θ ) .$] Putting everything together our solution is: #math.equation(block: true, alt: "u open parenthesis r , θ close parenthesis equals the fraction a sub 0 over 2 plus ∑ n equals 1 infinity a sub n r to the power n cos open parenthesis n θ close parenthesis plus b sub n r to the power n sin open parenthesis n θ close parenthesis .")[$u ( r , θ ) = frac(a_(0), 2) + ∑_(n = 1)^(∞) a_(n) r^(n) cos ( n θ ) + b_(n) r^(n) sin ( n θ ) .$] We look at the boundary condition in (4.10.1), #math.equation(block: true, alt: "g open parenthesis θ close parenthesis equals u open parenthesis 1 , θ close parenthesis equals the fraction a sub 0 over 2 plus ∑ n equals 1 infinity a sub n cos open parenthesis n θ close parenthesis plus b sub n sin open parenthesis n θ close parenthesis .")[$g ( θ ) = u ( 1 , θ ) = frac(a_(0), 2) + ∑_(n = 1)^(∞) a_(n) cos ( n θ ) + b_(n) sin ( n θ ) .$] Therefore, the solution (4.10.1) is to expand #math.equation(block: false, alt: "g open parenthesis θ close parenthesis")[$g ( θ )$], which is a #math.equation(block: false, alt: "2 π")[$2 π$]-periodic function as a Fourier series, and then the #math.equation(block: false, alt: "n to the power th")[$n^("th")$] coordinate is multiplied by #math.equation(block: false, alt: "r to the power n")[$r^(n)$]. In other words, to compute #math.equation(block: false, alt: "a to the power n")[$a^(n)$] and #math.equation(block: false, alt: "b to the power n")[$b^(n)$] from the formula we can, as usual, compute #math.equation(block: true, alt: "a sub n equals the fraction 1 over π ∫ π minus π g open parenthesis θ close parenthesis cos open parenthesis n θ close parenthesis d θ , and b sub n equals the fraction 1 over π ∫ π minus π g open parenthesis θ close parenthesis sin open parenthesis n θ close parenthesis d θ .")[$a_(n) = frac(1, π) ∫_(π)^(− π) g ( θ ) cos ( n θ ) d θ , #h(1em) "and" #h(1em) b_(n) = frac(1, π) ∫_(π)^(− π) g ( θ ) sin ( n θ ) d θ .$] #examplebox("Example 1")[][ Suppose we wish to solve #math.equation(block: true, alt: "Δ u equals 0 , 0 less than or equal to r less than 1 , minus π less than θ less than or equal to π ,; u open parenthesis 1 , θ close parenthesis equals cos open parenthesis 10 θ close parenthesis , minus π less than θ less than or equal to π .")[$Δ u = 0 , #h(2em) 0 ≤ r < 1 , #h(1em) − π < θ ≤ π , \ u ( 1 , θ ) = cos ( 10 θ ) , #h(2em) − π < θ ≤ π .$] The solution is #math.equation(block: true, alt: "u open parenthesis r , θ close parenthesis equals r to the power 10 cos open parenthesis 10 θ close parenthesis .")[$u ( r , θ ) = r^(10) cos ( 10 θ ) .$] See the plot in Figure #math.equation(block: false, alt: "3")[$3$]. The thing to notice in this example is that the effect of a high frequency is mostly felt at the boundary. In the middle of the disc, the solution is very close to zero. That is because #math.equation(block: false, alt: "r to the power 10")[$r^(10)$] rather small when #math.equation(block: false, alt: "r")[$r$] is close to #math.equation(block: false, alt: "0")[$0$]. #figure(figph[Three-dimensional surface over the unit disc, height minus 1.5 to 1.5. Narrow spikes alternate up to about 1 and down to about minus 1 around the rim but die out quickly inward, leaving the middle flat at zero.], alt: "Three-dimensional surface over the unit disc, height minus 1.5 to 1.5. Narrow spikes alternate up to about 1 and down to about minus 1 around the rim but die out quickly inward, leaving the middle flat at zero.", caption: [Figure #math.equation(block: false, alt: "3")[$3$]: The solution of the Dirichlet problem in the disc with #math.equation(block: false, alt: "cos open parenthesis 10 θ close parenthesis")[$cos ( 10 θ )$] as boundary data.]) ] #examplebox("Example 2")[][ Let us solve a more difficult problem. Suppose we have a long rod with circular cross section of radius #math.equation(block: false, alt: "1")[$1$] and we wish to solve the steady state heat problem. If the rod is long enough we simply need to solve the Laplace equation in two dimensions. Let us put the center of the rod at the origin and we have exactly the region we are currently studying—a circle of radius #math.equation(block: false, alt: "1")[$1$]. For the boundary conditions, suppose in Cartesian coordinates #math.equation(block: false, alt: "x")[$x$] and #math.equation(block: false, alt: "y")[$y$], the temperature is fixed at #math.equation(block: false, alt: "0")[$0$] when #math.equation(block: false, alt: "y less than 0")[$y < 0$] and at #math.equation(block: false, alt: "2 y")[$2 y$] when #math.equation(block: false, alt: "y greater than 0")[$y > 0$]. We set the problem up. As #math.equation(block: false, alt: "y equals r sin open parenthesis θ close parenthesis")[$y = r sin ( θ )$], then on the circle of radius #math.equation(block: false, alt: "1")[$1$] we have #math.equation(block: false, alt: "2 y equals 2 sin open parenthesis θ close parenthesis")[$2 y = 2 sin ( θ )$]. So #math.equation(block: true, alt: "Δ u equals 0 , 0 less than or equal to r less than 1 , minus π less than θ less than or equal to π ,; u open parenthesis 1 , θ close parenthesis equals { 2 sin open parenthesis θ close parenthesis, if 0 less than or equal to θ less than or equal to π ,; 0, if minus π less than θ less than 0 .")[$Δ u = 0 , #h(2em) 0 ≤ r < 1 , #h(1em) − π < θ ≤ π , \ u ( 1 , θ ) = \{ 2 sin ( θ ) & "if " #h(0.278em) 0 ≤ θ ≤ π , \ 0 & "if " #h(0.278em) − π < θ < 0 .$] We must now compute the Fourier series for the boundary condition. By now the reader has plentiful experience in computing Fourier series and so we simply state that #math.equation(block: true, alt: "u open parenthesis 1 , θ close parenthesis equals the fraction 2 over π plus sin open parenthesis θ close parenthesis plus ∑ n equals 1 infinity the fraction minus 4 over π open parenthesis 4 n squared minus 1 close parenthesis cos open parenthesis 2 n θ close parenthesis .")[$u ( 1 , θ ) = frac(2, π) + sin ( θ ) + ∑_(n = 1)^(∞) frac(− 4, π ( 4 n^(2) − 1 )) cos ( 2 n θ ) .$] ] #notebox("Your Turn", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ Compute the series for #math.equation(block: false, alt: "u open parenthesis 1 , θ close parenthesis")[$u ( 1 , θ )$] and verify that it really is what we have just claimed. Hint: Be careful, make sure not to divide by zero. ] We now simply write the solution (see Figure #math.equation(block: false, alt: "4")[$4$]) by multiplying by #math.equation(block: false, alt: "r to the power n")[$r^(n)$] in the right places. #math.equation(block: true, alt: "u open parenthesis r , θ close parenthesis equals the fraction 2 over π plus r sin open parenthesis θ close parenthesis plus ∑ n equals 1 infinity the fraction minus 4 r to the power 2 n over π open parenthesis 4 n squared minus 1 close parenthesis cos open parenthesis 2 n θ close parenthesis .")[$u ( r , θ ) = frac(2, π) + r sin ( θ ) + ∑_(n = 1)^(∞) frac(− 4 r^(2 n), π ( 4 n^(2) − 1 )) cos ( 2 n θ ) .$] #figure(figph[Three-dimensional surface over the unit disc, height 0 to 2. Half the rim is held at 0 and lies low; over the other half the surface swells into a dome reaching 2 at the rim, with the centre only about 0.6 to 0.7.], alt: "Three-dimensional surface over the unit disc, height 0 to 2. Half the rim is held at 0 and lies low; over the other half the surface swells into a dome reaching 2 at the rim, with the centre only about 0.6 to 0.7.", caption: [Figure #math.equation(block: false, alt: "4")[$4$]: The solution of the Dirichlet problem with boundary data #math.equation(block: false, alt: "0")[$0$] for #math.equation(block: false, alt: "y less than 0")[$y < 0$] and #math.equation(block: false, alt: "2 y")[$2 y$] for #math.equation(block: false, alt: "y greater than 0")[$y > 0$].]) === Poisson Kernel There is another way to solve the Dirichlet problem with the help of an integral kernel. That is, we will find a function #math.equation(block: false, alt: "P open parenthesis r , θ , α close parenthesis")[$P ( r , θ , α )$] called the #emph[Poisson kernel]#math.equation(block: false, alt: "to the power 1")[$1$] such that #math.equation(block: true, alt: "u open parenthesis r , θ close parenthesis equals the fraction 1 over 2 π ∫ minus π π P open parenthesis r , θ , α close parenthesis g open parenthesis α close parenthesis d α .")[$u ( r , θ ) = frac(1, 2 π) ∫_(− π)^(π) P ( r , θ , α ) g ( α ) d α .$] While the integral will generally not be solvable analytically, it can be evaluated numerically. In fact, unless the boundary data is given as a Fourier series already, it will be much easier to numerically evaluate this formula as there is only one integral to evaluate. The formula also has theoretical applications. For instance, as #math.equation(block: false, alt: "P open parenthesis r , θ , α close parenthesis")[$P ( r , θ , α )$] will have infinitely many derivatives, then via differentiating under the integral we find that the solution #math.equation(block: false, alt: "u open parenthesis r , θ close parenthesis")[$u ( r , θ )$] has infinitely many derivatives, at least when inside the circle, #math.equation(block: false, alt: "r less than 1")[$r < 1$]. By infinitely many derivatives what you should think of is that #math.equation(block: false, alt: "u open parenthesis r , θ close parenthesis")[$u ( r , θ )$] has “no corners” and all of its partial derivatives exist too and also have “no corners”. We will compute the formula for #math.equation(block: false, alt: "P open parenthesis r , θ , α close parenthesis")[$P ( r , θ , α )$] from the series solution, and this idea can be applied anytime you have a convenient series solution where the coefficients are obtained via integration. Hence you can apply this reasoning to obtain such integral kernels for other equations, such as the heat equation. The computation is long and tedious, but not overly difficult. Since the ideas are often applied in similar contexts, it is good to understand how this computation works. What we do is start with the series solution and replace the coefficients with the integrals that compute them. Then we try to write everything as a single integral. We must use a different dummy variable for the integration and hence we use #math.equation(block: false, alt: "α")[$α$] instead of #math.equation(block: false, alt: "θ")[$θ$]. #math.equation(block: true, alt: "u open parenthesis r , θ close parenthesis equals the fraction a sub 0 over 2 plus ∑ n equals 1 infinity a sub n r to the power n cos open parenthesis n θ close parenthesis plus b sub n r to the power n sin open parenthesis n θ close parenthesis; equals open parenthesis the fraction 1 over 2 π ∫ minus π π g open parenthesis α close parenthesis d α close parenthesis ⏟ the fraction a sub 0 over 2 plus ∑ n equals 1 infinity open parenthesis the fraction 1 over π ∫ minus π π g open parenthesis α close parenthesis cos open parenthesis n α close parenthesis d α close parenthesis ⏟ a sub n r to the power n cos open parenthesis n θ close parenthesis; plus open parenthesis the fraction 1 over π ∫ minus π π g open parenthesis α close parenthesis sin open parenthesis n α close parenthesis d α close p")[$u ( r , θ ) = frac(a_(0), 2) + limits(∑)^(∞)_(n = 1) a_(n) r^(n) cos ( n θ ) + b_(n) r^(n) sin ( n θ ) \ = limits(underbrace(( frac(1, 2 π) ∫_(− π)^(π) g ( α ) d α )))_(frac(a_(0), 2)) + limits(∑)^(∞)_(n = 1) limits(underbrace(( frac(1, π) ∫_(− π)^(π) g ( α ) cos ( n α ) d α )))_(a_(n)) r^(n) cos ( n θ ) \ + limits(underbrace(( frac(1, π) ∫_(− π)^(π) g ( α ) sin ( n α ) d α )))_(b_(n)) r^(n) sin ( n θ ) \ = frac(1, 2 π) ∫_(− π)^(π) ( g ( α ) + 2 limits(∑)^(∞)_(n = 1) g ( α ) cos ( n α ) r^(n) cos ( n θ ) + g ( α ) sin ( n α ) r^(n) sin ( n θ ) ) d α \ = frac(1, 2 π) ∫_(− π)^(π) limits(underbrace(( 1 + 2 limits(∑)^(∞)_(n = 1) r^(n) ( cos ( n α ) cos ( n θ ) + sin ( n α ) sin ( n θ ) ) )))_(P ( r , θ , α )) g ( α ) d α$] OK, so we have what we wanted, the expression in the parentheses is the Poisson kernel, #math.equation(block: false, alt: "P open parenthesis r , θ , α close parenthesis")[$P ( r , θ , α )$]. However, we can do a lot better. It is still given as a series, and we would really like to have a nice simple expression for it. We must work a little harder. The trick is to rewrite everything in terms of complex exponentials. Let us work just on the kernel. #math.equation(block: true, alt: "P open parenthesis r , θ , α close parenthesis equals 1 plus 2 ∑ n equals 1 infinity r to the power n open parenthesis cos open parenthesis n α close parenthesis cos open parenthesis n θ close parenthesis plus sin open parenthesis n α close parenthesis sin open parenthesis n θ close parenthesis close parenthesis; equals 1 plus 2 ∑ n equals 1 infinity r to the power n cos open parenthesis n open parenthesis θ minus α close parenthesis close parenthesis; equals 1 plus 2 ∑ n equals 1 infinity r to the power n open parenthesis e to the power i n open parenthesis θ minus α close parenthesis plus e to the power minus i n open parenthesis θ minus α close parenthesis close parenthesis; equals 1 plus ∑ n equals 1 infinity open parenthesis r e to the power i open parenthesis θ minus α close parenthe")[$P ( r , θ , α ) = 1 + 2 ∑_(n = 1)^(∞) r^(n) ( cos ( n α ) cos ( n θ ) + sin ( n α ) sin ( n θ ) ) \ = 1 + 2 ∑_(n = 1)^(∞) r^(n) cos ( n ( θ − α ) ) \ = 1 + 2 ∑_(n = 1)^(∞) r^(n) ( e^(i n ( θ − α )) + e^(− i n ( θ − α )) ) \ = 1 + ∑_(n = 1)^(∞) ( r e^(i ( θ − α )) )^(n) + ∑_(n = 1)^(∞) ( r e^(− i ( θ − α )) )^(n) .$] In the above expression we recognize the #emph[geometric series]. That is, recall from calculus that as long as #math.equation(block: false, alt: "| z | less than 1")[$| z | < 1$], then #math.equation(block: true, alt: "∑ n equals 1 infinity z to the power n equals the fraction z over 1 minus z .")[$∑_(n = 1)^(∞) z^(n) = frac(z, 1 − z) .$] Note that #math.equation(block: false, alt: "n")[$n$] starts at #math.equation(block: false, alt: "1")[$1$] and that is why we have the #math.equation(block: false, alt: "z")[$z$] in the numerator. It is the standard geometric series multiplied by #math.equation(block: false, alt: "z")[$z$]. Let us continue with the computation. #math.equation(block: true, alt: "P open parenthesis r , θ , α close parenthesis equals 1 plus ∑ n equals 1 infinity open parenthesis r e to the power i open parenthesis θ minus α close parenthesis close parenthesis to the power n plus ∑ n equals 1 infinity open parenthesis r e to the power minus i open parenthesis θ minus α close parenthesis close parenthesis to the power n; equals 1 plus the fraction r e to the power i open parenthesis θ minus α close parenthesis over 1 minus r e to the power i open parenthesis θ minus α close parenthesis plus the fraction r e to the power minus i open parenthesis θ minus α close parenthesis over 1 minus r e to the power minus i open parenthesis θ minus α close parenthesis; equals the fraction open parenthesis 1 minus r e to the power i open parenthesis θ minus α close parenthesis close")[$P ( r , θ , α ) = 1 + ∑_(n = 1)^(∞) ( r e^(i ( θ − α )) )^(n) + ∑_(n = 1)^(∞) ( r e^(− i ( θ − α )) )^(n) \ = 1 + frac(r e^(i ( θ − α )), 1 − r e^(i ( θ − α ))) + frac(r e^(− i ( θ − α )), 1 − r e^(− i ( θ − α ))) \ = frac(( 1 − r e^(i ( θ − α )) ) ( 1 − r e^(− i ( θ − α )) ) + ( 1 − r e^(− i ( θ − α )) ) r e^(i ( θ − α )) + ( 1 − r e^(i ( θ − α )) ) r e^(− i ( θ − α )), ( 1 − r e^(i ( θ − α )) ) ( 1 − r e^(− i ( θ − α )) )) \ = frac(1 − r^(2), 1 − r e^(i ( θ − α )) − r e^(− i ( θ − α )) + r^(2)) \ = frac(1 − r^(2), 1 − 2 r cos ( θ − α ) + r^(2)) .$] Now that’s a formula we can live with. The solution to the Dirichlet problem using the Poisson kernel is #math.equation(block: true, alt: "u open parenthesis r , θ close parenthesis equals the fraction 1 over 2 π ∫ minus π π the fraction 1 minus r squared over 1 minus 2 r cos open parenthesis θ minus α close parenthesis plus r squared g open parenthesis α close parenthesis d α .")[$u ( r , θ ) = frac(1, 2 π) ∫_(− π)^(π) frac(1 − r^(2), 1 − 2 r cos ( θ − α ) + r^(2)) g ( α ) d α .$] Sometimes the formula for the Poisson kernel is given together with the constant #math.equation(block: false, alt: "the fraction 1 over 2 π")[$frac(1, 2 π)$], in which case we should of course not leave it in front of the integral. Also, often the limits of the integral are given as #math.equation(block: false, alt: "0")[$0$] to #math.equation(block: false, alt: "2 π")[$2 π$]; everything inside is #math.equation(block: false, alt: "2 π")[$2 π$]-periodic in #math.equation(block: false, alt: "α")[$α$], so this does not change the integral. Let us not leave the Poisson kernel without explaining its geometric meaning. Let #math.equation(block: false, alt: "s")[$s$] be the distance from #math.equation(block: false, alt: "open parenthesis r , θ close parenthesis")[$( r , θ )$] to #math.equation(block: false, alt: "open parenthesis 1 , α close parenthesis")[$( 1 , α )$]. You may recall from calculus that this distance #math.equation(block: false, alt: "s")[$s$] in polar coordinates is given precisely by the square root of #math.equation(block: false, alt: "1 minus 2 r cos open parenthesis θ minus α close parenthesis plus r squared")[$1 − 2 r cos ( θ − α ) + r^(2)$]. That is, the Poisson kernel is really the formula #math.equation(block: true, alt: "the fraction 1 minus r squared over s squared .")[$frac(1 − r^(2), s^(2)) .$] #figure(figph[Diagram of a circle with a radius labelled 1 drawn to a rim point (1, alpha), a segment labelled r from the centre to an interior point (r, theta), and a segment s joining those two points.], alt: "Diagram of a circle with a radius labelled 1 drawn to a rim point (1, alpha), a segment labelled r from the centre to an interior point (r, theta), and a segment s joining those two points.", caption: [Figure #math.equation(block: false, alt: "5")[$5$]]) One final note we make about the formula is to note that it is really a weighted average of the boundary values. First let us look at what happens at the origin, that is when #math.equation(block: false, alt: "r equals 0")[$r = 0$]. #math.equation(block: true, alt: "u open parenthesis 0 , 0 close parenthesis equals the fraction 1 over 2 π ∫ minus π π the fraction 1 minus 0 squared over 1 minus 2 open parenthesis 0 close parenthesis cos open parenthesis θ minus α close parenthesis plus 0 squared g open parenthesis α close parenthesis d α; equals the fraction 1 over 2 π ∫ minus π π g open parenthesis α close parenthesis d α .")[$u ( 0 , 0 ) = frac(1, 2 π) ∫_(− π)^(π) frac(1 − 0^(2), 1 − 2 ( 0 ) cos ( θ − α ) + 0^(2)) g ( α ) d α \ = frac(1, 2 π) ∫_(− π)^(π) g ( α ) d α .$] So #math.equation(block: false, alt: "u open parenthesis 0 , 0 close parenthesis")[$u ( 0 , 0 )$] is precisely the average value of #math.equation(block: false, alt: "g open parenthesis θ close parenthesis")[$g ( θ )$] and therefore the average value of #math.equation(block: false, alt: "u")[$u$] on the boundary. This is a general feature of harmonic functions, the value at some point #math.equation(block: false, alt: "p")[$p$] is equal to the average of the values on a circle centered at #math.equation(block: false, alt: "p")[$p$]. What the formula says is that the value of the solution at any point in the circle is a weighted average of the boundary data #math.equation(block: false, alt: "g open parenthesis θ close parenthesis")[$g ( θ )$]. The kernel is bigger when #math.equation(block: false, alt: "open parenthesis r , θ close parenthesis")[$( r , θ )$] is closer to #math.equation(block: false, alt: "open parenthesis 1 , α close parenthesis")[$( 1 , α )$]. Therefore when computing #math.equation(block: false, alt: "u open parenthesis r , θ close parenthesis")[$u ( r , θ )$] we give more weight to the values #math.equation(block: false, alt: "g open parenthesis α close parenthesis")[$g ( α )$] when #math.equation(block: false, alt: "open parenthesis 1 , α close parenthesis")[$( 1 , α )$] is closer to #math.equation(block: false, alt: "open parenthesis r , θ close parenthesis")[$( r , θ )$] and less weight to the values #math.equation(block: false, alt: "g open parenthesis θ close parenthesis")[$g ( θ )$] when #math.equation(block: false, alt: "open parenthesis 1 , α close parenthesis")[$( 1 , α )$] far from #math.equation(block: false, alt: "open parenthesis r , θ close parenthesis")[$( r , θ )$]. The kernel P(r, θ, α) = (1 − r²)/(1 − 2r cos(θ − α) + r²) plotted against the boundary angle α, for an observation angle θ = 0: the horizontal axis says which boundary point, the vertical axis says how much weight it gets. Drag r out from the centre. At r = 0 the kernel lies flat on the dashed line at 1 — that is exactly the mean value property just proved, u(0, 0) = the average of g. By r = 0.6 it is a spike of height 4 over α = 0 while the far side of the circle has sunk to 0.25. The area underneath never changes, so this is re-weighting, not growth — which is also why a fast-wiggling boundary condition like cos(10θ) is felt at the boundary and dies before the middle of the disc. {"functions":\[{"color":"\#1f4e79","domain":\[-3.141592653589793,3.141592653589793\],"expression":"(1-r^2)/(1-2\*r\*cos(x)+r^2)","expression2":"","id":"kernel","inequality":"lt","lineDash":\[\],"lineWidth":2.5,"mode":"cartesian","tMax":10,"tMin":-10,"variable":"x","visible":true},{"color":"\#2e6b3f","domain":\[-3.141592653589793,3.141592653589793\],"expression":"1","expression2":"","id":"mean","inequality":"lt","lineDash":\[6,4\],"lineWidth":1.5,"mode":"cartesian","tMax":10,"tMin":-10,"variable":"x","visible":true}\],"grid":{"axisColor":"\#333333","gridColor":"\#cccccc","majorSpacing":1,"minorGridColor":"\#eeeeee","showAxes":true,"showLabels":true},"parameters":\[{"id":"r","label":"Radius r of the point in the disc","max":0.6,"min":0,"name":"r","step":0.01,"unit":"","value":0.5}\],"title":"The Poisson kernel as a weighted average of the boundary data","version":1,"viewport":{"centerX":0,"centerY":1.85,"scale":100}} === Footnotes \[1\] Named for the French mathematician #link("http://en.Wikipedia.org/wiki/Sim%C3%A9on_Denis_Poisson")[Siméon Denis Poisson] (1781 – 1840).