<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://ulysseszh.github.io/feed/tags/pde.xml" rel="self" type="application/atom+xml" /><link href="https://ulysseszh.github.io/" rel="alternate" type="text/html" hreflang="en-US" /><updated>2026-04-17T20:13:25-07:00</updated><id>https://ulysseszh.github.io/feed/tags/pde.xml</id><title type="html"><![CDATA[Ulysses’ trip]]></title><subtitle>Here we are at the awesome (awful) blog written by UlyssesZhan!</subtitle><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><entry><title type="html"><![CDATA[Multi-pass Gaussian blur filter]]></title><link href="https://ulysseszh.github.io/programming/2025/07/17/blur-filter.html" rel="alternate" type="text/html" title="Multi-pass Gaussian blur filter" /><published>2025-07-17T01:06:08-07:00</published><updated>2025-07-17T01:06:08-07:00</updated><id>https://ulysseszh.github.io/programming/2025/07/17/blur-filter</id><content type="html" xml:base="https://ulysseszh.github.io/programming/2025/07/17/blur-filter.html"><![CDATA[<p>In image processing, a Gaussian blur filter is the transformation of an image that blurs it by a Gaussian function. Mathematically, a Gaussian blur filter is a linear transformation <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span></span> on a measurable function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>:</mo><msup><mi mathvariant="double-struck">R</mi><mi>d</mi></msup><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">f:\bR^d\to\bR</annotation></semantics></math></span></span> that does not grow too fast at infinity (or more generally, <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>:</mo><msup><mi mathvariant="double-struck">R</mi><mi>d</mi></msup><mo>→</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">f:\bR^d\to V</annotation></semantics></math></span></span>, where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span></span> is a locally convex topological vector space) which results in a function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mi>f</mi><mo>:</mo><msup><mi mathvariant="double-struck">R</mi><mi>d</mi></msup><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">Gf:\bR^d\to\bR</annotation></semantics></math></span></span> defined by the integral <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mo>∫</mo><mfrac><mrow><msup><mi mathvariant="normal">d</mi><mi>d</mi></msup><mi>y</mi></mrow><msqrt><mrow><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mo fence="true">)</mo></mrow><mi>d</mi></msup><mi>det</mi><mo>⁡</mo><mi>A</mi></mrow></msqrt></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mrow><mo fence="true">(</mo><msup><mi>A</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo fence="true">)</mo></mrow><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi>y</mi><mi>j</mi></msub><msub><mi>y</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{Gf}x\ceq\int\frac{\d^dy}{\sqrt{\p{2\pi}^d\det A}}\fc\exp{-\fr12\p{A^{-1}}_{jk}y_jy_k}\fc f{x+y},</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span></span> is a symmetric positive definite matrix called the covariance matrix of the Gaussian kernel.</p>
<p>By looking at this formula, we can see that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{Gf}x</annotation></semantics></math></span></span> is exactly the expectation value of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>Y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc f{x+Y}</annotation></semantics></math></span></span>, where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math></span></span> is a random vector distributed according to the multivariate normal distribution with mean <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span></span> and covariance matrix <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span></span>. Let’s say, however, that instead of a multivariate normal distribution, we have a discrete distribution on a finite set of points <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_i}</annotation></semantics></math></span></span>, each with probability <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>w</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">w_i</annotation></semantics></math></span></span>, satisfying
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\sum_i w_i=1,\quad\sum_i w_ia_i=0.</annotation></semantics></math></span></span></span> Then, for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math></span></span> distributed according to this discrete distribution, the expectation value of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>Y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc f{x+Y}</annotation></semantics></math></span></span> is
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">E</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>Y</mi><mo fence="true">)</mo></mrow><mo fence="true">]</mo></mrow><mo>=</mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bopc E{\fc f{x+Y}}=\sum_i w_i\fc f{x+a_i}.</annotation></semantics></math></span></span></span> This distribution has the covariance matrix <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>=</mo><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>w</mi><mi>i</mi></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub></mrow><annotation encoding="application/x-tex">A_{jk}=\sum_i w_ia_{ij}a_{ik}</annotation></semantics></math></span></span>, but this expectation value is not the same as the result <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{Gf}x</annotation></semantics></math></span></span> of the Gaussian blur filter. In order to approach the Gaussian distribution, we need to sum <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span></span> independent samples
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>Y</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{Y_\alpha}</annotation></semantics></math></span></span>, each distributed according the same discrete distribution with covariance matrix <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi mathvariant="normal">/</mi><mi>N</mi></mrow><annotation encoding="application/x-tex">A/N</annotation></semantics></math></span></span>. Without changing the relation between <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_i}</annotation></semantics></math></span></span>, we can achieve this by taking the distribution to be among the points <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mi mathvariant="normal">/</mi><msqrt><mi>N</mi></msqrt><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_i/\sqrt N}</annotation></semantics></math></span></span>, with the same probabilities <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>w</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">w_i</annotation></semantics></math></span></span>. Then, according to the central limit theorem, we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><mi mathvariant="normal">E</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><munder><mo>∑</mo><mi>α</mi></munder><msub><mi>Y</mi><mi>α</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">]</mo></mrow><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><munder><mo>∑</mo><mrow><mo fence="true">{</mo><msub><mi>i</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow></munder><mrow><mo fence="true">(</mo><munder><mo>∏</mo><mi>α</mi></munder><msub><mi>w</mi><msub><mi>i</mi><mi>α</mi></msub></msub><mo fence="true">)</mo></mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mfrac><mn>1</mn><msqrt><mi>N</mi></msqrt></mfrac><munder><mo>∑</mo><mi>α</mi></munder><msub><mi>a</mi><msub><mi>i</mi><mi>α</mi></msub></msub><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{Gf}x=\lim_{N\to\infty}\bopc E{\fc f{x+\sum_\alpha Y_\alpha}}
=\lim_{N\to\infty}\sum_{\B{i_\alpha}}\p{\prod_\alpha w_{i_\alpha}}\fc f{x+\fr{1}{\sqrt N}\sum_\alpha a_{i_\alpha}}.</annotation></semantics></math></span></span></span> By staring at this formula, one may notice that it is actually the result of the same linear transformation <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span></span> applied <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span></span> times to the function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span></span>, where <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mfrac><msub><mi>a</mi><mi>i</mi></msub><msqrt><mi>N</mi></msqrt></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{P_Nf}x\ceq\sum_iw_i\fc f{x+\fr{a_i}{\sqrt N}}.</annotation></semantics></math></span></span></span> Thus, we can write <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><msubsup><mi>P</mi><mi>N</mi><mi>N</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">G=\lim_{N\to\infty}P_N^N.</annotation></semantics></math></span></span></span></p>
<p>We can now see why we can implement a Gaussian blur filter as a multi-pass filter: each pass of the filter is equivalent to applying the linear transformation <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span></span> once, and the Gaussian blur filter is the limit of applying this transformation infinitely many times. After choosing the points <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_i}</annotation></semantics></math></span></span> and the weights <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>w</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">w_i</annotation></semantics></math></span></span>, we can easily implement the filter in a fragment shader. After implementing <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span></span>, one can implement the multi-pass filter by flip-flopping between two textures <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span></span> times. Here is an example implementation of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span></span> for a 2D (<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">d=2</annotation></semantics></math></span></span>) texture, with <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>a</mi><mn>0</mn></msub><mo>=</mo><mrow><mo fence="true">(</mo><mtable rowspacing="0.16em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mi>σ</mi></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>0</mn></mstyle></mtd></mtr></mtable><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msub><mi>a</mi><mn>1</mn></msub><mo>=</mo><mrow><mo fence="true">(</mo><mtable rowspacing="0.16em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>−</mo><mi>σ</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>0</mn></mstyle></mtd></mtr></mtable><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msub><mi>w</mi><mn>0</mn></msub><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">a_0=\begin{pmatrix}\sgm\\0\end{pmatrix},\quad
a_1=\begin{pmatrix}-\sgm\\0\end{pmatrix},\quad
w_0=w_1=\fr12,</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>σ</mi></mrow><annotation encoding="application/x-tex">\sgm</annotation></semantics></math></span></span> would be the standard deviation of the resulting Gaussian blur filter:</p>
<table class="rouge-table">
  <tbody>
    <tr>
      <td class="highlight language-glsl">
        <pre>
          <span class="line line-1"><span class="k">varying</span> <span class="kt">vec2</span> <span class="n">vTextureCoord</span><span class="p">;</span>
</span>
          <span class="line line-2">
</span>
          <span class="line line-3"><span class="k">uniform</span> <span class="kt">sampler2D</span> <span class="n">uTexture</span><span class="p">;</span>
</span>
          <span class="line line-4"><span class="k">uniform</span> <span class="kt">float</span> <span class="n">uStrength</span><span class="p">;</span> <span class="c1">// sigma / sqrt(N)</span>
</span>
          <span class="line line-5">
</span>
          <span class="line line-6"><span class="kt">void</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
</span>
          <span class="line line-7">	<span class="nb">gl_FragColor</span>  <span class="o">=</span> <span class="n">texture2D</span><span class="p">(</span><span class="n">uTexture</span><span class="p">,</span> <span class="n">vTextureCoord</span> <span class="o">+</span> <span class="kt">vec2</span><span class="p">(</span> <span class="n">uStrength</span><span class="p">,</span> <span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">))</span> <span class="o">*</span> <span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">;</span>
</span>
          <span class="line line-8">	<span class="nb">gl_FragColor</span> <span class="o">+=</span> <span class="n">texture2D</span><span class="p">(</span><span class="n">uTexture</span><span class="p">,</span> <span class="n">vTextureCoord</span> <span class="o">+</span> <span class="kt">vec2</span><span class="p">(</span><span class="o">-</span><span class="n">uStrength</span><span class="p">,</span> <span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">))</span> <span class="o">*</span> <span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">;</span>
</span>
          <span class="line line-9"><span class="p">}</span>
</span>
        </pre>
      </td>
    </tr>
  </tbody>
</table>
<p class="no-indent">
When using the shader, the texture is input as the uniform <code>uTexture</code>, and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>σ</mi><mi mathvariant="normal">/</mi><msqrt><mi>N</mi></msqrt></mrow><annotation encoding="application/x-tex">\sgm/\sqrt N</annotation></semantics></math></span></span> is input as the uniform <code>uStrength</code>. This example is then called the 2-tap horizontal Gaussian blur filter (because to find <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fx</annotation></semantics></math></span></span> for some <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span></span> one needs to evaluate <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span></span> twice).
</p>
<p>To get a good Gaussian blur effect, <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span></span> should be large enough, which can quickly become computationally expensive. We can reduce the number of passes by rewriting <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mi>N</mi><mi>N</mi></msubsup><mo>=</mo><msup><mrow><mo fence="true">(</mo><msubsup><mi>P</mi><mi>N</mi><mi>n</mi></msubsup><mo fence="true">)</mo></mrow><mrow><mi>N</mi><mi mathvariant="normal">/</mi><mi>n</mi></mrow></msup></mrow><annotation encoding="application/x-tex">P_N^N=\p{P_N^n}^{N/n}</annotation></semantics></math></span></span> so that the number of passes is now reduced from <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span></span> to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mi mathvariant="normal">/</mi><mi>n</mi></mrow><annotation encoding="application/x-tex">N/n</annotation></semantics></math></span></span> without changing the result, but the cost is to implement <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mi>N</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">P_N^n</annotation></semantics></math></span></span> instead of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span></span> in the shader. With the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span></span> example above, the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mi>N</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">P_N^n</annotation></semantics></math></span></span> filter is then a
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{n+1}</annotation></semantics></math></span></span>-tap horizontal Gaussian blur filter. The total number of times to fetch the texture is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>N</mi><mi mathvariant="normal">/</mi><mi>n</mi></mrow><annotation encoding="application/x-tex">\p{n+1}N/n</annotation></semantics></math></span></span> to render the whole blurred texture, which decreases as <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span></span> increases.</p>
<p>By utilizing the linear sampling feature of the GPU, this number can be further reduced (by half) if <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>σ</mi><mi mathvariant="normal">/</mi><msqrt><mi>N</mi></msqrt><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sgm/\sqrt N=1</annotation></semantics></math></span></span>. One can read further about this in <a href="https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/" target="_blank" rel="external">this article</a>.</p>
<hr/>
<p>Let us now move on to an interesting relation to the heat equation. The heat equation is a partial differential equation that reads <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>t</mi></msub><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><munder><mo>∑</mo><mi>j</mi></munder><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\partial_t\fc{f_t}x=\sum_j\partial_j\partial_j\fc{f_t}x.</annotation></semantics></math></span></span></span> The physical meaning of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_t}x</annotation></semantics></math></span></span> is the temperature at position <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span></span> at time <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span></span>, and the solution to this equation gives the time evolution of the temperature distribution in a medium with unit thermal diffusivity. More generally, we can have some other thermal diffusivities, which may even be anisotropic, in which case the equation reads
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>t</mi></msub><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\partial_t\fc{f_t}x=\fr12\sum_{jk}A_{jk}\partial_j\partial_k\fc{f_t}x,</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span></span> is a symmetric positive definite matrix. Such an equation can always be reduced to the form with unit thermal diffusivity by a linear transformation of the coordinates <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>↦</mo><mi>L</mi><mi>x</mi></mrow><annotation encoding="application/x-tex">x\mapsto Lx</annotation></semantics></math></span></span>, where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span></span> satisfies
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo>=</mo><msup><mi>L</mi><mi mathvariant="normal">T</mi></msup><mi>L</mi></mrow><annotation encoding="application/x-tex">A/2=L^\mrm TL</annotation></semantics></math></span></span> (the Cholesky decomposition of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">A/2</annotation></semantics></math></span></span>). By using operator exponentiation, we can write the solution to the heat equation as <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi>G</mi><mi>t</mi></msup><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_t}x=G^t\fc{f_0}x</annotation></semantics></math></span></span>, where <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>G</mi><mi>t</mi></msup><mo><mi mathvariant="normal">≔</mi></mo><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>t</mi><mn>2</mn></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">G^t\ceq\fc\exp{\fr t2\sum_{jk}A_{jk}\partial_j\partial_k}</annotation></semantics></math></span></span></span> is called the time evolution operator (which is not generally defined for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t&lt;0</annotation></semantics></math></span></span>, which means that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msup><mi>G</mi><mi>t</mi></msup><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{G^t}</annotation></semantics></math></span></span> cannot form a group but only a monoid).</p>
<p>The reason that I denote it as <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mi>t</mi></msup></mrow><annotation encoding="application/x-tex">G^t</annotation></semantics></math></span></span> is that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mn>1</mn></msup></mrow><annotation encoding="application/x-tex">G^1</annotation></semantics></math></span></span> gives exactly the Gaussian blur filter <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span></span> (when acting on real analytic functions). This is not immediately obvious, and I will justify its correctness by starting from the multi-pass expression of the Gaussian blur filter. For analytic functions, we can get the translation operator by exponentiating the derivative operator, so <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mfrac><msub><mi>a</mi><mi>i</mi></msub><msqrt><mi>N</mi></msqrt></mfrac><mo fence="true">)</mo></mrow><mo>=</mo><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>j</mi></munder><mfrac><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msqrt><mi>N</mi></msqrt></mfrac><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc f{x+\fr{a_i}{\sqrt N}}=\fc\exp{\sum_j\fr{a_{ij}}{\sqrt N}\partial_j}\fc fx.</annotation></semantics></math></span></span></span> Therefore, we can write <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msub><mi>P</mi><mi>N</mi></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>j</mi></munder><mfrac><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msqrt><mi>N</mi></msqrt></mfrac><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><munder><munder><mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub></mrow><mo stretchy="true">⏟</mo></munder><mn>1</mn></munder><mo>+</mo><mfrac><mn>1</mn><msqrt><mi>N</mi></msqrt></mfrac><munder><mo>∑</mo><mi>j</mi></munder><munder><munder><mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><mo stretchy="true">⏟</mo></munder><mn>0</mn></munder><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><mo>+</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>N</mi></mrow></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><munder><munder><mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub></mrow><mo stretchy="true">⏟</mo></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub></munder><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>N</mi><mrow><mo>−</mo><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
P_N&amp;=\sum_iw_i\fc\exp{\sum_j\fr{a_{ij}}{\sqrt N}\partial_j}\\
&amp;=\underbrace{\sum_iw_i}_1
+\fr1{\sqrt N}\sum_j\underbrace{\sum_iw_ia_{ij}}_0\partial_j
+\fr1{2N}\sum_{jk}\underbrace{\sum_iw_ia_{ij}a_{ik}}_{A_{jk}}\partial_j\partial_k
+\order{N^{-3/2}}.
\end{align*}</annotation></semantics></math></span></span></span> Now, in the limit of infinite <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span></span>, we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><msubsup><mi>P</mi><mi>N</mi><mi>N</mi></msubsup><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>N</mi></mrow></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mi>N</mi></msup><mo>=</mo><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi>G</mi><mn>1</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">G=\lim_{N\to\infty}P_N^N
=\lim_{N\to\infty}\p{1+\fr1{2N}\sum_{jk}A_{jk}\partial_j\partial_k}^N
=\fc\exp{\fr12\sum_{jk}A_{jk}\partial_j\partial_k}=G^1.</annotation></semantics></math></span></span></span> This means that applying the Gaussian blur filter is equivalent to evolving one unit of time according to the heat equation. Therefore, the equation in the beginning of this article, the definition of the Gaussian blur filter, can then be used to express the unit time evolution under the heat equation in the form of a integral transformation. To get the general <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mi>t</mi></msup></mrow><annotation encoding="application/x-tex">G^t</annotation></semantics></math></span></span>, we can just replace <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span></span> with <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mi>A</mi></mrow><annotation encoding="application/x-tex">tA</annotation></semantics></math></span></span>.</p>
<p>As a byproduct, we can then show that the heat kernel is a Gaussian kernel. The heat kernel <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>K</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{K_t}{x,x'}</annotation></semantics></math></span></span> is defined as the solution to the heat equation with initial condition <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>K</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>=</mo><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{K_0}{x,x'}=\fc\dlt{x-x'}</annotation></semantics></math></span></span>. Directly applying <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mi>t</mi></msup></mrow><annotation encoding="application/x-tex">G^t</annotation></semantics></math></span></span> to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\dlt{x-x'}</annotation></semantics></math></span></span> gives
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>K</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><msup><mi>G</mi><mi>t</mi></msup><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mo>∫</mo><mfrac><mrow><msup><mi mathvariant="normal">d</mi><mi>d</mi></msup><mi>y</mi></mrow><msqrt><mrow><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mo fence="true">)</mo></mrow><mi>d</mi></msup><mi>det</mi><mo>⁡</mo><mi>A</mi></mrow></msqrt></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>t</mi></mrow></mfrac><msub><mrow><mo fence="true">(</mo><msup><mi>A</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo fence="true">)</mo></mrow><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi>y</mi><mi>j</mi></msub><msub><mi>y</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>y</mi><mo>−</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mfrac><mn>1</mn><msqrt><mrow><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mo fence="true">)</mo></mrow><mi>d</mi></msup><mi>det</mi><mo>⁡</mo><mi>A</mi></mrow></msqrt></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>t</mi></mrow></mfrac><msub><mrow><mo fence="true">(</mo><msup><mi>A</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo fence="true">)</mo></mrow><mrow><mi>j</mi><mi>k</mi></mrow></msub><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>−</mo><msubsup><mi>x</mi><mi>j</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>−</mo><msubsup><mi>x</mi><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{K_t}{x,x'}&amp;=G^t\fc\dlt{x-x'}\\
&amp;=\int\fr{\d^dy}{\sqrt{\p{2\pi t}^d\det A}}\fc\exp{-\fr1{2t}\p{A^{-1}}_{jk}y_jy_k}\fc\dlt{x+y-x'}\\
&amp;=\fr{1}{\sqrt{\p{2\pi t}^d\det A}}\fc\exp{-\fr1{2t}\p{A^{-1}}_{jk}\p{x_j-x'_j}\p{x_k-x'_k}},
\end{align*}</annotation></semantics></math></span></span></span> which is the form that you would find in textbooks.</p>
<hr/>
<p>The reason that I decided to study the Gaussian blur filter is that I spotted a flaw in the implementation of the blur filter in <a href="https://pixijs.com" target="_blank" rel="external">PixiJS</a>, where the uniform <code>uStrength</code> in the example shader above is scaled by <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mi>N</mi></mrow><annotation encoding="application/x-tex">1/N</annotation></semantics></math></span></span> instead of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msqrt><mi>N</mi></msqrt></mrow><annotation encoding="application/x-tex">1/\sqrt N</annotation></semantics></math></span></span>. I was very happy to find the bug because this is the first time that I found a bug without actually producing an unexpected phenomenon first but by just staring at the source codes and deducing the mathematical formulas by hand. I opened an <a href="https://github.com/pixijs/pixijs/issues/11554" target="_blank" rel="external">issue</a> for my findings.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="programming" /><category term="algorithm" /><category term="shader" /><category term="probability" /><category term="pde" /><summary type="html"><![CDATA[According to the central limit theorem, the sum of some i.i.d. samples is normally distributed in the limit of large sample size. This fact can be used to implement a multi-pass Gaussian blur filter, where the total number of passes is equal to the number of samples used in the averaging. Through this, we can also see a nice relation to the heat equation, which is not surprising since the heat kernel is a Gaussian function.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-07-17-blur-filter.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-07-17-blur-filter.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Eigenfunctions of the Laplacian on an annulus with homogeneous Neumann boundary condition]]></title><link href="https://ulysseszh.github.io/math/2025/04/11/laplacian-annulus.html" rel="alternate" type="text/html" title="Eigenfunctions of the Laplacian on an annulus with homogeneous Neumann boundary condition" /><published>2025-04-11T00:40:49-07:00</published><updated>2025-04-11T00:40:49-07:00</updated><id>https://ulysseszh.github.io/math/2025/04/11/laplacian-annulus</id><content type="html" xml:base="https://ulysseszh.github.io/math/2025/04/11/laplacian-annulus.html"><![CDATA[<h2 data-label="0.1" id="the-problem-and-the-solution">The problem and the solution</h2>
<p>Suppose there is an annulus defined by the region <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub><mo>&lt;</mo><mi>ρ</mi><mo>&lt;</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\set{\p{\rho,\vphi}}{R_\mrm{in}&lt;\rho&lt;R_\mrm{out}}</annotation></semantics></math></span></span>. What are the functions <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Φ</mi></mrow><annotation encoding="application/x-tex">\Phi</annotation></semantics></math></span></span> defined on this region that satisfy
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>λ</mi><mi mathvariant="normal">Φ</mi><mo>=</mo><msup><mi mathvariant="normal">∇</mi><mn>2</mn></msup><mi mathvariant="normal">Φ</mi><mo>=</mo><mfrac><mn>1</mn><mi>ρ</mi></mfrac><msub><mi mathvariant="normal">∂</mi><mi>ρ</mi></msub><mrow><mo fence="true">(</mo><mi>ρ</mi><msub><mi mathvariant="normal">∂</mi><mi>ρ</mi></msub><mi mathvariant="normal">Φ</mi><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><msup><mi>ρ</mi><mn>2</mn></msup></mfrac><msubsup><mi mathvariant="normal">∂</mi><mi>φ</mi><mn>2</mn></msubsup><mi mathvariant="normal">Φ</mi></mrow><annotation encoding="application/x-tex">\lmd\Phi=\nabla^2\Phi=\fr1\rho\partial_\rho\p{\rho\partial_\rho\Phi}+\fr1{\rho^2}\partial_\vphi^2\Phi</annotation></semantics></math></span></span></span> and the boundary conditions
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>ρ</mi></msub><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo>=</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi mathvariant="normal">∂</mi><mi>ρ</mi></msub><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo>=</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\partial_\rho\fc\Phi{\rho=R_\mrm{in},\vphi}=\partial_\rho\fc\Phi{\rho=R_\mrm{out},\vphi}=0,</annotation></semantics></math></span></span></span> i.e., eigenfunctions of the Laplacian on the annulus with homogeneous Neumann boundary conditions?</p>
<p>For any boundary condition with azimuthal symmetry, an easy separation of variable gives you solutions of the general form <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>m</mi><mi>φ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc\Phi{\rho,\vphi}=\p{\Xi^{\p J}\fc{J_m}{z\rho/R_\mrm{out}}+\Xi^{\p Y}\fc{Y_m}{z\rho/R_\mrm{out}}}\e^{\i m\vphi},</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Xi^{\p J}</annotation></semantics></math></span></span>,
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Xi^{\p Y}</annotation></semantics></math></span></span>, and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span> are constants fixed by the boundary conditions, and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span></span> is an integer and the azimuthal quantum number. The functions <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">J_m</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">Y_m</annotation></semantics></math></span></span> are Bessel functions of the first and second kind, respectively, which are two linearly independent solutions of the Bessel equation <span id="eq:bessel-equation" data-label="(1)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>z</mi><mn>2</mn></msup><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>z</mi><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">(</mo><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">z^2\fc{y''}z+z\fc{y'}z+\p{z^2-m^2}\fc{y}z=0</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(1)</annotation></semantics></math></span></span></span></span> </span></span> with some particular normalization. Plugging the general form into the boundary condition, and we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo><mspace width="1em"/><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\Xi^{\p J}\fc{J_m'}{z}+\Xi^{\p Y}\fc{Y_m'}{z}=0,\quad
\Xi^{\p J}\fc{J_m'}{rz}+\Xi^{\p Y}\fc{Y_m'}{rz}=0,</annotation></semantics></math></span></span></span> where
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub></mrow><annotation encoding="application/x-tex">r\ceq R_\mrm{in}/R_\mrm{out}</annotation></semantics></math></span></span>. This is regarded as a homogeneous linear system of equations for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Xi^{\p J}</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Xi^{\p Y}</annotation></semantics></math></span></span>. In order for it to have nontrivial solutions, the determinant of the coefficient matrix must vanish, which gives <span id="eq:g" data-label="(2)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\fc gz\ceq\fc{J_m'}{rz}\fc{Y_m'}z-\fc{Y_m'}{rz}\fc{J_m'}z=0.</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(2)</annotation></semantics></math></span></span></span></span> </span></span> We can then assign a radial quantum number <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span></span> to the eigenfunctions by making the value of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span> the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span></span>th root of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span></span>, which we may casually call
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span></span>.</p>
<p>We then have the final solution (up to normalization) <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">Φ</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>−</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>m</mi><mi>φ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\Phi_{mn}}{\rho,\vphi}=\p{\fc{Y_m'}{z_{mn}}\fc{J_m}{z_{mn}\rho/R_\mrm{out}}
-\fc{J_m'}{z_{mn}}\fc{Y_m}{z_{mn}\rho/R_\mrm{out}}}\e^{\i m\vphi},</annotation></semantics></math></span></span></span>
where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span></span> is the azimuthal quantum number, and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span></span> is the radial quantum number, and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span></span> is defined as the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span></span>th root of the function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span></span>. The eigenvalue is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>=</mo><mo>−</mo><msubsup><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow><mn>2</mn></msubsup><mi mathvariant="normal">/</mi><msubsup><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow><mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">\lmd_{mn}=-z_{mn}^2/R_\mrm{out}^2</annotation></semantics></math></span></span>. In order for the eigenfunctions to be complete, we need to allow <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span></span> to be any integer, but we will restrict ourselves to non-negative <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span></span> in the rest of the article because the negative ones are practically the same as the positive ones.</p>
<h2 data-label="0.2" id="distribution-of-eigenvalues">Distribution of eigenvalues</h2>
<p>From the well-known asymptotic form of the Bessel functions (<a href="https://dlmf.nist.gov/10.7#E8" target="_blank" rel="external">source</a>) <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><msqrt><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac></msqrt><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><msqrt><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac></msqrt><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{J_m}{z\to\infty}=\sqrt{\fr2{\pi z}}\fc\cos{z-\fr{m\pi}2-\fr\pi4},\quad
\fc{Y_m}{z\to\infty}=\sqrt{\fr2{\pi z}}\fc\sin{z-\fr{m\pi}2-\fr\pi4},</annotation></semantics></math></span></span></span> we can easily conclude that the asymptotic form of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span></span> is <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mn>2</mn><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>π</mi><msqrt><mi>r</mi></msqrt><mtext> </mtext><mi>z</mi></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc g{z\to\infty}=\fr{2\fc\sin{\p{1-r}z}}{\pi\sqrt r\,z}.</annotation></semantics></math></span></span></span> This inspires us to define a function in companion with <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span></span> as <span id="eq:f" data-label="(3)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc fz\ceq\fc{J_m'}{rz}\fc{J_m'}z+\fc{Y_m'}{rz}\fc{Y_m'}z,</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(3)</annotation></semantics></math></span></span></span></span> </span></span> which will have the asymptotic form <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mn>2</mn><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>π</mi><msqrt><mi>r</mi></msqrt><mtext> </mtext><mi>z</mi></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc f{z\to\infty}=\fr{2\fc\cos{\p{1-r}z}}{\pi\sqrt r\,z}.</annotation></semantics></math></span></span></span> Therefore, <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∼</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f\sim\cos\fc\tht z</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>∼</mo><mi>sin</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">g\sim\sin\fc\tht z</annotation></semantics></math></span></span> are like the cosine and sine pair of oscillatory functions, with a phase angle <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">\fc\tht{z\to\infty}=\p{1-r}z</annotation></semantics></math></span></span> asymptotically directly proportional to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span>.</p>
<p>Here is a plot that shows how <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span></span> behaves:</p>
<figure>
<img src="/assets/images/figures/2025-04-11-laplacian-annulus/theta-asymptotic.svg" class="dark-adaptive" alt="Plot of  and  for , "/>

</figure>
<p class="no-indent">
The blue line is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>arctan</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\arctan{\fc gz/\fc fz}</annotation></semantics></math></span></span>, and the orange line is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>arctan</mi><mo>⁡</mo><mi>tan</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\arctan\fc\tan{\p{1-r}z}</annotation></semantics></math></span></span>. we can see that the two functions are asymptotically equal.
</p>
<p>A good thing about this description is that we can now see that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span></span> as a root of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span></span> is just the solution to the equation <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>n</mi><mi>π</mi></mrow><annotation encoding="application/x-tex">\fc\tht z=n\pi</annotation></semantics></math></span></span>. In other words, <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span></span> are just the points at which the blue line crosses the horizontal axis in the plot above. Therefore, if we can find the inverse function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc z\tht</annotation></semantics></math></span></span> (maybe in a series expansion), we can directly get <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>=</mo><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mi>π</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">z_{mn}=\fc z{n\pi}</annotation></semantics></math></span></span>. We can see from the plot that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>θ</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc z\tht=\tht/\p{1-r}</annotation></semantics></math></span></span> is probably not a good enough approximation. Therefore, we would like to seek higher order terms.</p>
<h3 data-label="0.2.1" id="kummers-equation">Kummer’s equation</h3>
<p>For this part, we employ a method similar to a <a href="https://www.math.toronto.edu/bremer/papers/bessel2.pdf" target="_blank" rel="external">paper</a> by Bremer.</p>
<p>First, for a general homogeneous second-order linear ODE in the form <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><mn>2</mn><mi>χ</mi><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mi>ψ</mi><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y''+2\chi y'+\psi y=0</annotation></semantics></math></span></span>, where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi></mrow><annotation encoding="application/x-tex">\chi</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\psi</annotation></semantics></math></span></span> are known functions of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span>, we can define <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>y</mi><mi mathvariant="normal">n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>p</mi><mi>y</mi><mo separator="true">,</mo><mspace width="1em"/><mi>p</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>C</mi><mi>exp</mi><mo>⁡</mo><mo>∫</mo><mi>χ</mi><mtext> </mtext><mi mathvariant="normal">d</mi><mi>z</mi><mo separator="true">,</mo><mspace width="1em"/><mi>q</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>p</mi><mi>ψ</mi><mo>−</mo><msup><mi>p</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">y_\mrm n\ceq py,\quad p\ceq C\exp\int\chi\,\d z,
\quad q\ceq p\psi-p'',</annotation></semantics></math></span></span></span> and the ODE will become a normal form <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>y</mi><mi mathvariant="normal">n</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msubsup><mo>+</mo><mi>q</mi><msub><mi>y</mi><mi mathvariant="normal">n</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y_\mrm n''+qy_\mrm n=0</annotation></semantics></math></span></span>. Therefore, for any second-order linear ODE, we only need to consider those without the first-derivative term.</p>
<p>Then, one can prove that, for the ODE <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><mi>q</mi><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y''+qy=0</annotation></semantics></math></span></span>, its two linearly independent solutions can be expressed as <span id="eq:kummer-solutions" data-label="(4)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>u</mi><mo>=</mo><mfrac><mrow><mi>cos</mi><mo>⁡</mo><mi>α</mi></mrow><msqrt><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msqrt></mfrac><mo separator="true">,</mo><mspace width="1em"/><mi>v</mi><mo>=</mo><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>α</mi></mrow><msqrt><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msqrt></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">u=\fr{\cos\alp}{\sqrt{\alp'}},\quad v=\fr{\sin\alp}{\sqrt{\alp'}},</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(4)</annotation></semantics></math></span></span></span></span> </span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span></span> satisfy Kummer’s equation <span id="eq:kummer" data-label="(5)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup><mo>+</mo><mfrac><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mrow><mn>2</mn><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup></mrow><mrow><mn>4</mn><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup></mrow></mfrac><mo>=</mo><mi>q</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\alp^{\prime2}+\fr{\alp'''}{2\alp'}-\fr{3\alp^{\prime\prime2}}{4\alp^{\prime2}}=q.</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>5</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(5)</annotation></semantics></math></span></span></span></span> </span></span> This may seem like converting a problem to a more complicated one, but the advantage is that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span></span> is not oscillatory while <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span></span> are oscillatory, which means that it would be easier to expand
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span></span> as a series for large <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span>. Notice that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><msup><mi>u</mi><mn>2</mn></msup><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\alp'=1/\p{u^2+v^2}</annotation></semantics></math></span></span>, which provides a means of finding <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span></span> if the solutions of the original ODE are known.</p>
<details>
<summary>
Derivation
</summary>
<p>For the ODE <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><mi>q</mi><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y''+qy=0</annotation></semantics></math></span></span>, substitute the trial solution <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>α</mi><mo>+</mo><mi mathvariant="normal">i</mi><mi>β</mi></mrow></msup></mrow><annotation encoding="application/x-tex">y=\e^{\alp+\i\beta}</annotation></semantics></math></span></span>, where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo separator="true">,</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alp,\beta</annotation></semantics></math></span></span> are real functions of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span>. We can derive the following equations: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><mn>2</mn><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msup><mi>β</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mn>0</mn><mo separator="true">,</mo><mspace width="1em"/><msup><mi>β</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><msup><mi>β</mi><mrow><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup><mo>−</mo><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup><mo>+</mo><mi>q</mi><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\alp''+2\alp'\beta'=0,\quad
\beta''+\beta^{\prime2}-\alp^{\prime2}+q=0.</annotation></semantics></math></span></span></span> The first equation gives <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\beta=-\ln\alp'/2</annotation></semantics></math></span></span>, which we can substitute into the second equation to get Equation <a href="#eq:kummer">5</a>. On the other hand, the real and imaginary parts of the trial solution gives us Equation <a href="#eq:kummer-solutions">4</a>. Technically speaking, it can be called the real and imaginary parts only if <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\alp'&gt;0</annotation></semantics></math></span></span>, but they are still solutions to the ODE.</p>
<p>Another way to prove Kummer’s equation is just substituting <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><msup><mi>u</mi><mn>2</mn></msup><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\alp'=1/\p{u^2+v^2}</annotation></semantics></math></span></span> and check that it satisfies Kummer’s equation if <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span></span> satisfy the ODE and have Wronkskian equal to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span></span>.</p>
</details>
<p>Now, we can try to apply this to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">J_m'</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">Y_m'</annotation></semantics></math></span></span>. First, we need to find the second-order ODE that those two functions satisfy. We already know that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">J_m</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">Y_m</annotation></semantics></math></span></span> are solutions to Equation <a href="#eq:bessel-equation">1</a>, so it would be straightforward to derive that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">J_m'</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">Y_m'</annotation></semantics></math></span></span> satisfy <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mi>z</mi></mfrac><mfrac><mrow><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><mn>3</mn><msup><mi>m</mi><mn>2</mn></msup></mrow><mrow><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup></mrow></mfrac><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mrow><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>1</mn></mrow><msup><mi>z</mi><mn>2</mn></msup></mfrac><mo>−</mo><mfrac><mrow><mn>2</mn><msup><mi>m</mi><mn>2</mn></msup></mrow><mrow><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\fc{y''}z+\fr1z\fr{z^2-3m^2}{z^2-m^2}\fc{y'}z
+\p{1-\fr{m^2+1}{z^2}-\fr{2m^2}{z^2-m^2}}\fc yz=0.</annotation></semantics></math></span></span></span>
To reduce this into the normal form without the first-derivative term, define <span id="eq:p-and-q" data-label="(6)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msqrt><mfrac><mi>π</mi><mn>2</mn></mfrac></msqrt><mfrac><msup><mi>z</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><msqrt><mrow><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup></mrow></msqrt></mfrac><mo separator="true">,</mo><mspace width="1em"/><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mo>−</mo><mfrac><mrow><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>−</mo><mn>1</mn></mrow><mrow><mn>4</mn><msup><mi>z</mi><mn>2</mn></msup></mrow></mfrac><mo>−</mo><mfrac><mrow><mn>2</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><msup><mi>z</mi><mn>2</mn></msup></mrow><msup><mrow><mo fence="true">(</mo><msup><mi>m</mi><mn>2</mn></msup><mo>−</mo><msup><mi>z</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc pz\ceq\sqrt{\fr\pi2}\fr{z^{3/2}}{\sqrt{z^2-m^2}},\quad
\fc qz\ceq1-\fr{4m^2-1}{4z^2}-\fr{2m^2+z^2}{\p{m^2-z^2}^2},</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>6</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(6)</annotation></semantics></math></span></span></span></span> </span></span> and we have
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc pz\fc{J_m'}z</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc pz\fc {Y_m'}z</annotation></semantics></math></span></span> satisfy <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{y''}z+\fc qz\fc yz=0</annotation></semantics></math></span></span>. Equation <a href="#eq:kummer-solutions">4</a> then gives <span id="eq:bessel-as-kummer-solutions" data-label="(7)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>cos</mi><mo>⁡</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msqrt><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></msqrt></mrow></mfrac><mo separator="true">,</mo><mspace width="1em"/><mo>−</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msqrt><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></msqrt></mrow></mfrac></mrow><annotation encoding="application/x-tex">\fc{Y_m'}z=\fr{\cos\fc\alp z}{\fc pz\sqrt{\fc{\alp'}z}},\quad
-\fc{J_m'}z=\fr{\sin\fc\alp z}{\fc pz\sqrt{\fc{\alp'}z}}</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>7</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(7)</annotation></semantics></math></span></span></span></span> </span></span> (the normalization of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math></span></span> and the initial value of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span></span> are chosen to make sure they are correct). You may worry that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>&lt;</mo><mi>m</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc p{z&lt;m}</annotation></semantics></math></span></span> is imaginary, but <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\alp'}z</annotation></semantics></math></span></span> will be negative in that region so that everything works out and is real in the end. Substitute Equation <a href="#eq:bessel-as-kummer-solutions">7</a> into Equation <a href="#eq:f">3</a> and <a href="#eq:g">2</a>, and we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msqrt><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></msqrt></mrow></mfrac><mo separator="true">,</mo><mspace width="1em"/><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msqrt><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></msqrt></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc fz=\fr{\cos\fc\tht z}{\fc p{rz}\fc pz\sqrt{\fc{\alp'}{rz}\fc{\alp'}z}},\quad
\fc gz=\fr{\sin\fc\tht z}{\fc p{rz}\fc pz\sqrt{\fc{\alp'}{rz}\fc{\alp'}z}},</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z\ceq\fc\alp z-\fc\alp{rz}</annotation></semantics></math></span></span>. By this, we have a workable expression for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span> so that we now just need to turn our attention to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span></span>.</p>
<p>We can substitute <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc qz</annotation></semantics></math></span></span> in Equation <a href="#eq:p-and-q">6</a> into Equation <a href="#eq:kummer">5</a> and expand on both sides as a series of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span> at infinity and solve for the series coefficients to get <span id="eq:alpha-prime-few-terms" data-label="(8)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn><mo>+</mo><mfrac><mrow><mo>−</mo><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>−</mo><mn>3</mn></mrow><mrow><mn>8</mn><msup><mi>z</mi><mn>2</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mrow><mo>−</mo><mn>16</mn><msup><mi>m</mi><mn>4</mn></msup><mo>−</mo><mn>184</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>63</mn></mrow><mrow><mn>128</mn><msup><mi>z</mi><mn>4</mn></msup></mrow></mfrac><mo>+</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\alp'}z=1+\fr{-4m^2-3}{8z^2}+\fr{-16m^4-184m^2+63}{128z^4}+\cdots,</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>8</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(8)</annotation></semantics></math></span></span></span></span> </span></span> which has a certain convergence radius which is not important at this stage.</p>
<h3 data-label="0.2.2" id="asymptotic-expansion">Asymptotic expansion</h3>
<p>Here we will work out another way of expanding <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span></span> as a series based on properties of the Bessel functions. From Equation <a href="#eq:bessel-as-kummer-solutions">7</a>, we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mi>p</mi><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mo fence="true">(</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr1{\fc{\alp'}z}=\fc pz^2\p{\fc{J_m'}z^2+\fc{Y_m'}z^2}.</annotation></semantics></math></span></span></span> If we were working with
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\fc{J_m}z^2+\fc{Y_m}z^2</annotation></semantics></math></span></span> instead, we would be able to employ the handy Nicholson’s integral, but the same method cannot be applied here.</p>
<details>
<summary>
Why it does not work
</summary>
<p>Nicholson’s integral is <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><mfrac><mn>8</mn><msup><mi>π</mi><mn>2</mn></msup></mfrac><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mi>cosh</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>m</mi><mi>t</mi><mo fence="true">)</mo></mrow><msub><mi>K</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>z</mi><mi>sinh</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>t</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{J_m}z^2+\fc{Y_m}z^2=\fr8{\pi^2}\int_0^\infty\fc\cosh{2mt}\fc{K_0}{2z\sinh t}\d t,</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>K</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">K_0</annotation></semantics></math></span></span> is the modified Bessel function. A derivation is given in Section 13.73 of Watson’s <cite>A Treatise on the Theory of Bessel Functions</cite>.</p>
<p>To apply this to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\fc{J_m'}z^2+\fc{Y_m'}z^2</annotation></semantics></math></span></span>, we need to use (<a href="https://dlmf.nist.gov/10.6#E1" target="_blank" rel="external">source</a>) <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msub><mi>J</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>J</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msub><mi>Y</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>Y</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{J_m'}z=\fr12\p{\fc{J_{m-1}}z-\fc{J_{m+1}}z},\quad
\fc{Y_m'}z=\fr12\p{\fc{Y_{m-1}}z-\fc{Y_{m+1}}z}.</annotation></semantics></math></span></span></span> Then, we just need to work out the cross terms
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>J</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>Y</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>Y</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{J_{m-1}}z\fc{J_{m+1}}z+\fc{Y_{m-1}}z\fc{Y_{m+1}}z</annotation></semantics></math></span></span>. By the same method of deriving Nicholson’s integral, we can get <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mphantom><mo>=</mo><mrow/></mphantom><msub><mi>J</mi><msub><mi>m</mi><mn>1</mn></msub></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>J</mi><msub><mi>m</mi><mn>2</mn></msub></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>Y</mi><msub><mi>m</mi><mn>1</mn></msub></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>Y</mi><msub><mi>m</mi><mn>2</mn></msub></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mfrac><mn>4</mn><msup><mi>π</mi><mn>2</mn></msup></mfrac><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">e</mi><mrow><mrow><mo fence="true">(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>+</mo><msub><mi>m</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mi>t</mi></mrow></msup><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>−</mo><msub><mi>m</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mi>π</mi><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mrow><mo fence="true">(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>+</mo><msub><mi>m</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mi>t</mi></mrow></msup><mo fence="true">)</mo></mrow><msub><mi>K</mi><mrow><msub><mi>m</mi><mn>2</mn></msub><mo>−</mo><msub><mi>m</mi><mn>1</mn></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>z</mi><mi>sinh</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>t</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
&amp;\phantom{={}}\fc{J_{m_1}}z\fc{J_{m_2}}z+\fc{Y_{m_1}}z\fc{Y_{m_2}}z\\
&amp;=\fr4{\pi^2}\int_0^\infty\p{\e^{\p{m_1+m_2}t}\fc\cos{\p{m_1-m_2}\pi}
+\e^{-\p{m_1+m_2}t}}\fc{K_{m_2-m_1}}{2z\sinh t}\d t,
\end{align*}</annotation></semantics></math></span></span></span>
which is a more general version of Nicholson’s integral. However, this formula is only valid for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi mathvariant="normal">Re</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>−</mo><msub><mi>m</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\v{\fc\Re{m_1-m_2}}&lt;1</annotation></semantics></math></span></span> because otherwise the integral diverges near <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t=0</annotation></semantics></math></span></span>, while we need <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mn>2</mn></msub><mo>−</mo><msub><mi>m</mi><mn>1</mn></msub><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">m_2-m_1=2</annotation></semantics></math></span></span>.</p>
<p>One can also try to employ the same method of deriving Nicholson’s integral directly on <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\fc{J_m'}z^2+\fc{Y_m'}z^2</annotation></semantics></math></span></span>, but it will turn out to have the same divergence problem. Briefly speaking, there is a term that is an infinitesimal quantity times the integral of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="normal">∂</mi><mi>μ</mi><mn>2</mn></msubsup><msub><mi>K</mi><mi>μ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>z</mi><mi>sinh</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\partial_\mu^2\fc{K_\mu}{2z\sinh t}</annotation></semantics></math></span></span>, which can only be thrown away without any problem if <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi mathvariant="normal">Re</mi><mo>⁡</mo><mi>μ</mi><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\v{\Re\mu}&lt;1</annotation></semantics></math></span></span>, which is not the case here.</p>
</details>
<p class="no-indent">
We can, however, use the asymptotic expansion of the Bessel functions directly (<a href="https://dlmf.nist.gov/10.17#E9" target="_blank" rel="external">source</a>): <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><msqrt><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac></msqrt><mrow><mo fence="true">(</mo><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub></mrow><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo>−</mo><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><msqrt><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac></msqrt><mrow><mo fence="true">(</mo><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo>+</mo><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub></mrow><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{Y_m'}z&amp;=\sqrt{\fr2{\pi z}}\p{\fc\cos{z-\fr{m\pi}2-\fr\pi4}
\sum_{k=0}^\infty\fr{\p{-1}^kc_{2k}}{z^{2k}}
-\fc\sin{z-\fr{m\pi}2-\fr\pi4}\sum_{k=0}^\infty\fr{\p{-1}^kc_{2k+1}}{z^{2k+1}}},\\
-\fc{J_m'}z&amp;=\sqrt{\fr2{\pi z}}\p{\fc\cos{z-\fr{m\pi}2-\fr\pi4}
\sum_{k=0}^\infty\fr{\p{-1}^kc_{2k+1}}{z^{2k+1}}
+\fc\sin{z-\fr{m\pi}2-\fr\pi4}\sum_{k=0}^\infty\fr{\p{-1}^kc_{2k}}{z^{2k}}},
\end{align*}</annotation></semantics></math></span></span></span>
where <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>c</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>a</mi><mi>k</mi></msub><mo>+</mo><mrow><mo fence="true">(</mo><mi>k</mi><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo fence="true">)</mo></mrow><msub><mi>a</mi><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msub><mo separator="true">,</mo><mspace width="1em"/><msub><mi>a</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn><mo>−</mo><mi>m</mi><mo fence="true">)</mo></mrow><mover accent="true"><mi>k</mi><mo stretchy="true">‾</mo></mover></msup><msup><mrow><mo fence="true">(</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn><mo>+</mo><mi>m</mi><mo fence="true">)</mo></mrow><mover accent="true"><mi>k</mi><mo stretchy="true">‾</mo></mover></msup></mrow><mrow><msup><mn>2</mn><mi>k</mi></msup><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">c_k\ceq a_k+\p{k-\fr12}a_{k-1},\quad
a_k\ceq\p{-1}^k\fr{\p{1/2-m}^{\overline k}\p{1/2+m}^{\overline k}}{2^kk!},</annotation></semantics></math></span></span></span> where the raising factorial notation is used. By combining them, we get
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><mfrac><mn>2</mn><mi>π</mi></mfrac><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msub><mi>r</mi><mi>k</mi></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>r</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mi>k</mi></mrow></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>l</mi></msup><msub><mi>c</mi><mi>l</mi></msub><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{J_m'}z^2+\fc{Y_m'}z^2=\fr2\pi\sum_{k=0}^\infty\fr{r_k}{z^{2k+1}},\quad
r_k\ceq\p{-1}^k\sum_{l=0}^{2k}\p{-1}^lc_lc_{2k-l}.</annotation></semantics></math></span></span></span>
</p>
<details>
<summary>
Derivation
</summary>
<p>First, expand the squares, and the cross terms will cancel, and we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mi>π</mi><mi>z</mi></mrow><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow><mo>=</mo><msup><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>k</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>k</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr{\pi z}2\p{\fc{J_m'}z^2+\fc{Y_m'}z^2}=
\p{\sum_k\p{-1}^k\fr{c_{2k}}{z^{2k}}}^2
+\p{\sum_k\p{-1}^k\fr{c_{2k+1}}{z^{2k+1}}}^2.</annotation></semantics></math></span></span></span>
For the first term, combine a <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mi>l</mi></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2l}</annotation></semantics></math></span></span> and a <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mi>k</mi><mo>−</mo><mi>l</mi><mo fence="true">)</mo></mrow></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2\p{k-l}}</annotation></semantics></math></span></span> to get a <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2k}</annotation></semantics></math></span></span>, so that we can resum it as <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>k</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>l</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>l</mi></mrow></msub><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mi>l</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\p{\sum_k\p{-1}^k\fr{c_{2k}}{z^{2k}}}^2
=\sum_{k=0}^\infty\fr1{z^{2k}}\sum_{l=0}^k\p{-1}^lc_{2l}\p{-1}^{k-l}c_{2k-2l}.</annotation></semantics></math></span></span></span>
Similarly, for the other term, combine a <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mi>l</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2l-1}</annotation></semantics></math></span></span> and a <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mi>k</mi><mo>−</mo><mi>l</mi><mo fence="true">)</mo></mrow><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2\p{k-l}+1}</annotation></semantics></math></span></span> to get a <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2k}</annotation></semantics></math></span></span>, so that we can resum it as <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>k</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mi>l</mi><mo>−</mo><mn>1</mn></mrow></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>l</mi><mo>−</mo><mn>1</mn></mrow></msub><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\p{\sum_k\p{-1}^k\fr{c_{2k+1}}{z^{2k+1}}}^2
=\sum_{k=0}^\infty\fr1{z^{2k}}\sum_{l=1}^k\p{-1}^{l-1}c_{2l-1}\p{-1}^{k-l}c_{2k-2l+1}.</annotation></semantics></math></span></span></span>
Combine to get <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mi>π</mi><mi>z</mi></mrow><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mrow><mo fence="true">(</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>l</mi></mrow></msub><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mi>l</mi></mrow></msub><mo>+</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>l</mi><mo>−</mo><mn>1</mn></mrow></msub><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mi>k</mi></mrow></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>l</mi></msup><msub><mi>c</mi><mi>l</mi></msub><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fr{\pi z}2\p{\fc{J_m'}z^2+\fc{Y_m'}z^2}&amp;=
\sum_{k=0}^\infty\fr1{z^{2k}}
\p{\sum_{l=0}^k\p{-1}^kc_{2l}c_{2k-2l}
+\sum_{l=1}^k\p{-1}^{k-1}c_{2l-1}c_{2k-2l+1}}\\
&amp;=\sum_{k=0}^\infty\fr{\p{-1}^k}{z^{2k}}
\sum_{l=0}^{2k}\p{-1}^lc_lc_{2k-l}.
\end{align*}</annotation></semantics></math></span></span></span></p>
</details>
<p>Then, take the reciprocal of the series, and we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>=</mo><mfrac><mi>π</mi><mn>2</mn></mfrac><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fr1{\fc{J_m'}z^2+\fc{Y_m'}z^2}=\fr\pi2\sum_{k=0}^\infty\fr{r^\mrm r_k}{z^{2k-1}},</annotation></semantics></math></span></span></span> where
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup></mrow><annotation encoding="application/x-tex">r^\mrm r_k</annotation></semantics></math></span></span> is defined recursively as (noticing that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mn>0</mn></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r_0=1</annotation></semantics></math></span></span>) <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>r</mi><mn>0</mn><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>r</mi><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn></mrow><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">r^\mrm r_0\ceq 1,\quad
r^\mrm r_{k&gt;0}\ceq-\sum_{l=1}^kr_lr^\mrm r_{k-l}.</annotation></semantics></math></span></span></span></p>
<details>
<summary>
Series reciprocation
</summary>
<p>For a series <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></msubsup><msub><mi>r</mi><mi>k</mi></msub><msup><mi>z</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\sum_{k=0}^\infty r_kz^k</annotation></semantics></math></span></span>, what is the reciprocal <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">(</mo><msubsup><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></msubsup><msub><mi>r</mi><mi>k</mi></msub><msup><mi>z</mi><mi>k</mi></msup><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\p{\sum_{k=0}^\infty r_kz^k}^{-1}</annotation></semantics></math></span></span>? Assume that it is another series <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></msubsup><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>z</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\sum_{k=0}^\infty r^\mrm r_kz^k</annotation></semantics></math></span></span>. Then, we have
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>1</mn><mo>=</mo><mrow><mo fence="true">(</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msub><mi>r</mi><mi>k</mi></msub><msup><mi>z</mi><mi>k</mi></msup><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>z</mi><mi>k</mi></msup><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>z</mi><mi>k</mi></msup><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">1=\p{\sum_{k=0}^\infty r_kz^k}\p{\sum_{k=0}^\infty r^\mrm r_kz^k}
=\sum_{k=0}^\infty z^k\sum_{l=0}^k r_l r^\mrm r_{k-l}.</annotation></semantics></math></span></span></span> Compare the coefficients of
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>z</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">z^k</annotation></semantics></math></span></span> on both sides, and we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>δ</mi><mrow><mi>k</mi><mo separator="true">,</mo><mn>0</mn></mrow></msub><mo>=</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mo>=</mo><msub><mi>r</mi><mn>0</mn></msub><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><mo>+</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\dlt_{k,0}=\sum_{l=0}^k r_l r^\mrm r_{k-l}
=r_0r^\mrm r_k+\sum_{l=1}^k r_l r^\mrm r_{k-l}.</annotation></semantics></math></span></span></span> Therefore, we get the recursion relation <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>r</mi><mn>0</mn><mi mathvariant="normal">r</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><msub><mi>r</mi><mn>0</mn></msub></mfrac><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>r</mi><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn></mrow><mi mathvariant="normal">r</mi></msubsup><mo>=</mo><mo>−</mo><mfrac><mn>1</mn><msub><mi>r</mi><mn>0</mn></msub></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">r^\mrm r_0=\fr1{r_0},\quad
r^\mrm r_{k&gt;0}=-\fr1{r_0}\sum_{l=1}^kr_lr^\mrm r_{k-l}.</annotation></semantics></math></span></span></span> I will use the notation of superscript <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">r</mi></mrow><annotation encoding="application/x-tex">\mrm r</annotation></semantics></math></span></span> for series reciprocation in the rest of this article.</p>
<p>There are non-recursive ways of writing those coefficients, but they are either very long or needs notations that require a bit of explanation, so I restrained from that.</p>
</details>
<p class="no-indent">
Therefore, we get the asymptotic expansion of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span></span> as <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mo>∫</mo><mfrac><mrow><mi mathvariant="normal">d</mi><mi>z</mi></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mo fence="true">(</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo>+</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msub><mi>s</mi><mi>k</mi></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>s</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mrow><msup><mi>m</mi><mn>2</mn></msup><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow><mi mathvariant="normal">r</mi></msubsup><mo>−</mo><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup></mrow><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></mfrac></mrow><annotation encoding="application/x-tex">\fc\alp z=\int\fr{\d z}{\fc pz^2\p{\fc{J_m'}z^2+\fc{Y_m'}z^2}}
=-\fr{m\pi}2-\fr\pi4+\sum_{k=0}^\infty\fr{s_k}{z^{2k-1}},\quad
s_k\ceq\fr{m^2r^\mrm r_{k-1}-r^\mrm r_k}{2k-1}</annotation></semantics></math></span></span></span>
(with <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>r</mi><mrow><mo>−</mo><mn>1</mn></mrow><mi mathvariant="normal">r</mi></msubsup></mrow><annotation encoding="application/x-tex">r^\mrm r_{-1}</annotation></semantics></math></span></span> understood as <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span></span>; I will be assuming the reference to any expansion coefficients outside their designated range to be interpreted as zero in all occurrences in the rest of this article). The additive constant in <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span></span> is properly chosen so that Equation <a href="#eq:bessel-as-kummer-solutions">7</a> is satisfied without being off by a phase (but it is actually unimportant anyway because it gets canceled in the expression of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span></span>). One can check that this agrees with Equation <a href="#eq:alpha-prime-few-terms">8</a>.
</p>
<p>We can now find an expansion for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span></span>: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msub><mi>d</mi><mi>k</mi></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>d</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mn>1</mn><msup><mi>r</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mfrac><msub><mi>s</mi><mi>k</mi></msub><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\tht z=\fc\alp z-\fc\alp{rz}=\p{1-r}\sum_{k=0}^\infty\fr{d_k}{z^{2k-1}},\quad
d_k\ceq\p{1-\fr1{r^{2k-1}}}\fr{s_k}{1-r}.</annotation></semantics></math></span></span></span>
Then it is the final step to find an expansion for the inverse function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc z\tht</annotation></semantics></math></span></span>. Take the reciprocal of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span>: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msubsup><mi>d</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>d</mi><mn>0</mn><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>d</mi><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn></mrow><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>d</mi><mi>l</mi></msub><msubsup><mi>d</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr1{\fc\tht z}=\fr1{1-r}\sum_{k=0}^\infty\fr{d^\mrm r_k}{z^{2k+1}},\quad
d^\mrm r_0\ceq1,\quad d^\mrm r_{k&gt;0}\ceq-\sum_{l=1}^kd_l d^\mrm r_{k-l}.</annotation></semantics></math></span></span></span>
Then, <a href="https://en.wikipedia.org/wiki/Lagrange_inversion_theorem" target="_blank" rel="external">invert the series</a>: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msubsup><mi>b</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>θ</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>b</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mfrac><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow></mfrac><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>2</mn><mi>k</mi></mrow></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>l</mi></msup><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mover accent="true"><mi>l</mi><mo stretchy="true">‾</mo></mover></msup><msub><mi>B</mi><mrow><mn>2</mn><mi>k</mi><mo separator="true">,</mo><mi>l</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mo stretchy="false">!</mo><msubsup><mi>d</mi><mn>1</mn><mi mathvariant="normal">r</mi></msubsup><mo separator="true">,</mo><mn>0</mn><mo separator="true">,</mo><mn>4</mn><mo stretchy="false">!</mo><msubsup><mi>d</mi><mn>2</mn><mi mathvariant="normal">r</mi></msubsup><mo separator="true">,</mo><mn>0</mn><mo separator="true">,</mo><mo>…</mo><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mn>1</mn><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>k</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fr1{\fc z\tht}=\sum_{k=0}^\infty\fr{b^\mrm r_k}{\tht^{2k+1}},\quad
b^\mrm r_k\ceq\fr{\p{1-r}^{2k+1}}{\p{2k+1}!}\begin{dcases}
\sum_{l=1}^{2k}\p{-1}^l\p{2k+1}^{\overline l}
\fc{B_{2k,l}}{0,2!d^\mrm r_1,0,4!d^\mrm r_2,0,\ldots},&amp;k&gt;0,\\
1,&amp;k=0,
\end{dcases}</annotation></semantics></math></span></span></span>
where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>B</mi><mrow><mn>2</mn><mi>k</mi><mo separator="true">,</mo><mi>l</mi></mrow></msub></mrow><annotation encoding="application/x-tex">B_{2k,l}</annotation></semantics></math></span></span> is the <a href="https://en.wikipedia.org/wiki/Bell_polynomials" target="_blank" rel="external">Bell polynomial</a>. Finally, take the reciprocal: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msub><mi>b</mi><mi>k</mi></msub><msup><mi>θ</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>b</mi><mn>0</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>b</mi><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn></mrow></msub><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msubsup><mi>b</mi><mi>l</mi><mi mathvariant="normal">r</mi></msubsup><msub><mi>b</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc z\tht=\sum_{k=0}^\infty\fr{b_k}{\tht^{2k-1}},\quad
b_0\ceq\fr1{1-r},\quad
b_{k&gt;0}\ceq-\fr1{1-r}\sum_{l=1}^kb^\mrm r_lb_{k-l}.</annotation></semantics></math></span></span></span>
The first few terms are <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mi>θ</mi><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mrow><mo fence="true">(</mo><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><mrow><mn>8</mn><mi>r</mi><mi>θ</mi></mrow></mfrac><mo>+</mo><mo>⋯</mo></mrow><annotation encoding="application/x-tex">\fc z\tht=\fr\tht{1-r}+\fr{\p{4m^2+3}\p{1-r}}{8r\tht}+\cdots</annotation></semantics></math></span></span></span> (I only write two terms here because the next term starts to be very long; it will turn out that only the first two terms are useful anyway).</p>
<details>
<summary>
Wolfram codes for computing the coefficients
</summary>
<table class="rouge-table"><tbody><tr><td class="highlight language-wolfram"><pre><span class="line line-1"><span class="nv">a</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="o">^</span><span class="nv">k</span><span class="w"> </span><span class="nb">Pochhammer</span><span class="p">[</span><span class="m">1</span><span class="o">/</span><span class="m">2</span><span class="o">-</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="nb">Pochhammer</span><span class="p">[</span><span class="m">1</span><span class="o">/</span><span class="m">2</span><span class="o">+</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="o">/</span><span class="p">(</span><span class="m">2</span><span class="o">^</span><span class="nv">k</span><span class="w"> </span><span class="nv">k</span><span class="o">!</span><span class="p">)</span>
</span><span class="line line-2"><span class="nv">c</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="nv">a</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="o">/</span><span class="m">2</span><span class="p">)</span><span class="nv">a</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="p">]</span>
</span><span class="line line-3"><span class="nv">r</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="p">(</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="o">^</span><span class="nv">k</span><span class="w"> </span><span class="nb">Sum</span><span class="p">[(</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="o">^</span><span class="nv">l</span><span class="w"> </span><span class="nv">c</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">l</span><span class="p">]</span><span class="nv">c</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="m">2</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">0</span><span class="o">,</span><span class="m">2</span><span class="nv">k</span><span class="p">}]</span>
</span><span class="line line-4"><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="o">=</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">&lt;</span><span class="m">0</span><span class="o">,</span><span class="m">0</span><span class="o">,</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">==</span><span class="m">0</span><span class="o">,</span><span class="m">1</span><span class="o">,-</span><span class="nb">Sum</span><span class="p">[</span><span class="nv">r</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">l</span><span class="p">]</span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="nv">k</span><span class="p">}]]]</span>
</span><span class="line line-5"><span class="nv">s</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="p">(</span><span class="nv">m</span><span class="o">^</span><span class="m">2</span><span class="w"> </span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="p">]</span><span class="o">-</span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">])</span><span class="o">/</span><span class="p">(</span><span class="m">2</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="p">)</span>
</span><span class="line line-6"><span class="nv">d</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_,</span><span class="nv">R</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="m">1</span><span class="o">/</span><span class="nv">R</span><span class="o">^</span><span class="p">(</span><span class="m">2</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="p">))</span><span class="nv">s</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="o">/</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="nv">R</span><span class="p">)</span>
</span><span class="line line-7"><span class="nv">dr</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_,</span><span class="nv">R</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="nv">dr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="o">=</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">==</span><span class="m">0</span><span class="o">,</span><span class="m">1</span><span class="o">,-</span><span class="nb">Sum</span><span class="p">[</span><span class="nv">d</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">l</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="nv">dr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="nv">k</span><span class="p">}]]</span>
</span><span class="line line-8"><span class="nv">br</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_,</span><span class="nv">R</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="nv">R</span><span class="p">)</span><span class="o">^</span><span class="p">(</span><span class="m">2</span><span class="nv">k</span><span class="o">+</span><span class="m">1</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="m">2</span><span class="nv">k</span><span class="o">+</span><span class="m">1</span><span class="p">)</span><span class="o">!</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">==</span><span class="m">0</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="nb">Sum</span><span class="p">[(</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="o">^</span><span class="nv">l</span><span class="w"> </span><span class="nb">Pochhammer</span><span class="p">[</span><span class="m">2</span><span class="nv">k</span><span class="o">+</span><span class="m">1</span><span class="o">,</span><span class="nv">l</span><span class="p">]</span><span class="nb">BellY</span><span class="p">[</span><span class="m">2</span><span class="nv">k</span><span class="o">,</span><span class="nv">l</span><span class="o">,</span><span class="nb">Table</span><span class="p">[</span><span class="nb">If</span><span class="p">[</span><span class="nb">EvenQ</span><span class="p">[</span><span class="nv">j</span><span class="p">]</span><span class="o">,</span><span class="nv">dr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">j</span><span class="o">/</span><span class="m">2</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="nv">j</span><span class="o">!,</span><span class="m">0</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">j</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="m">2</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="o">+</span><span class="m">1</span><span class="p">}]]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="m">2</span><span class="nv">k</span><span class="p">}]]</span>
</span><span class="line line-9"><span class="nv">b</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_,</span><span class="nv">R</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="nv">b</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="o">=</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">==</span><span class="m">0</span><span class="o">,</span><span class="m">1</span><span class="o">/</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="nv">R</span><span class="p">)</span><span class="o">,-</span><span class="m">1</span><span class="o">/</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="nv">R</span><span class="p">)</span><span class="nb">Sum</span><span class="p">[</span><span class="nv">br</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">l</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="nv">b</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="nv">k</span><span class="p">}]]</span>
</span></pre></td></tr></tbody></table>
<p class="no-indent">
(The capitalized <code>R</code> is the parameter <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span></span> in this article; I have so poor choices of variable names…)
</p>
</details>
<p>The result is shown in the plot below.</p>
<figure>
<img src="/assets/images/figures/2025-04-11-laplacian-annulus/theta-expansion.svg" class="dark-adaptive" alt="Plot of  vs.  with different numbers of terms for , "/>

</figure>
<p class="no-indent">
The black line is the exact function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span> for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">m=4</annotation></semantics></math></span></span>, <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>3</mn></mrow><annotation encoding="application/x-tex">r=1/3</annotation></semantics></math></span></span>, and the blue, green, orange, and red lines are the truncated asymptotic series of the inverse function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc z\tht</annotation></semantics></math></span></span> with 1, 2, 3, and 4 terms, respectively. The horizontal grid lines are the integer multiples of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>π</mi></mrow><annotation encoding="application/x-tex">\pi</annotation></semantics></math></span></span>, whose intersections with the black line gives the wanted roots <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span></span>. To be honest, the result is a bit anticlimactic because it turns out that truncating the series to only the first two terms gives the best approximation. This is within expectation, though, because the asymptotic series is never guaranteed to give better approximations with more terms.
</p>
<h3 data-label="0.2.3" id="the-n0-mode">The <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span></span> mode</h3>
<p>For all the previous plots, I have only shown <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">m=4</annotation></semantics></math></span></span>. For <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span></span> being other positive integers, they all look similar, but there is a special feature for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span>. To see this, first study the limiting form of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fz</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc gz</annotation></semantics></math></span></span> for small <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span>. The limiting forms of the Bessel functions are (<a href="https://dlmf.nist.gov/10.7#i" target="_blank" rel="external">source</a>) <span id="eq:bessel-limiting" data-label="(9)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left right left" columnspacing="0em 1em 0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>J</mi><mn>0</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mo>−</mo><mfrac><mi>z</mi><mn>2</mn></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>J</mi><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mfrac><mn>1</mn><mrow><msup><mn>2</mn><mi>m</mi></msup><mrow><mo fence="true">(</mo><mi>m</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow></mfrac><msup><mi>z</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>Y</mi><mn>0</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>Y</mi><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mfrac><mrow><msup><mn>2</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo></mrow><mi>π</mi></mfrac><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{J_0'}{z\to0}&amp;=-\fr z2,&amp;
\fc{J_{m&gt;0}'}{z\to0}&amp;=\fr{1}{2^m\p{m-1}!}z^{m-1},\\
\fc{Y_0'}{z\to0}&amp;=\fr2{\pi z},&amp;
\fc{Y_{m&gt;0}'}{z\to0}&amp;=\fr{2^mm!}{\pi}\fr1{z^{m+1}}.
\end{align*}</annotation></semantics></math></span></span></span></span>
<span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>9</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(9)</annotation></semantics></math></span></span></span></span> </span></span> We can then get <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mn>4</mn><mrow><msup><mi>π</mi><mn>2</mn></msup><mi>r</mi><msup><mi>z</mi><mn>2</mn></msup></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mn>1</mn><msup><mi>r</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><msup><mrow><mo fence="true">(</mo><mfrac><mrow><msup><mn>2</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo></mrow><mi>π</mi></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mn>2</mn><mi>m</mi><mo>+</mo><mn>2</mn></mrow></msup></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mn>1</mn><mo>−</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mi>π</mi><mi>r</mi></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mi>m</mi><mi>π</mi></mfrac><mrow><mo fence="true">(</mo><msup><mi>r</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msup><mo>−</mo><mfrac><mn>1</mn><msup><mi>r</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mfrac><mn>1</mn><msup><mi>z</mi><mn>2</mn></msup></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable></mrow></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc f{z\to0}&amp;=\begin{dcases}
\fr4{\pi^2rz^2},&amp;m=0,\\
\fr1{r^{m+1}}\p{\fr{2^mm!}\pi}^2\fr1{z^{2m+2}},&amp;m&gt;0,
\end{dcases}\\
\fc g{z\to0}&amp;=\begin{dcases}
\fr{1-r^2}{\pi r},&amp;m=0,\\
\fr m\pi\p{r^{m-1}-\fr1{r^{m+1}}}\fr1{z^2},&amp;m&gt;0.
\end{dcases}
\end{align*}</annotation></semantics></math></span></span></span>
From this, we can get the limiting form of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span>: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mi>π</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msup><mi>r</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><mn>4</mn></mfrac><msup><mi>z</mi><mn>2</mn></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><mfrac><mrow><mi>π</mi><mi>m</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msup><mi>r</mi><mrow><mn>2</mn><mi>m</mi></mrow></msup><mo fence="true">)</mo></mrow></mrow><msup><mrow><mo fence="true">(</mo><mi>m</mi><mo stretchy="false">!</mo><msup><mn>2</mn><mi>m</mi></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><msup><mi>z</mi><mrow><mn>2</mn><mi>m</mi></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fc\tht{z\to0}=\begin{dcases}
\fr{\pi\p{1-r^2}}4z^2,&amp;m=0,\\
-\fr{\pi m\p{1-r^{2m}}}{\p{m!2^m}^2}z^{2m},&amp;m&gt;0.
\end{dcases}</annotation></semantics></math></span></span></span> The particularly interesting thing to note is the negative sign for the case of
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span></span>. Remember that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">\fc\tht{z\to\infty}=\p{1-r}z</annotation></semantics></math></span></span>, which is a positive thing, we would conclude that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span> would become zero for some positive <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span> if <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span></span>, while that may not be the case for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span>. Indeed, there is no positive <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span> for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\tht z=0</annotation></semantics></math></span></span> if <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span>, as we can see from the plot below.</p>
<figure>
<img src="/assets/images/figures/2025-04-11-laplacian-annulus/n-zero-mode-existence.svg" class="dark-adaptive" alt="Plot of  for  and ."/>

</figure>
<p class="no-indent">
The red line is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span> for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">m=1</annotation></semantics></math></span></span>, which we can see that crosses the horizontal axis, while the blue line is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span> for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span>, which does not cross the horizontal axis. The more lightly colored lines are the limiting forms of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span> for small <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span>.
</p>
<p>The implication is that the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span></span> mode would not exist for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span> but exist for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span></span>. However, traditionally, when people talk about eigenmodes of the Laplacian, the quantum number <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span></span> refers to the 1-based numbering of the roots of the Bessel functions (<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span></span> in our case). This would mean that what is referred to as the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>m</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo><mi>n</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{m&gt;0,n}</annotation></semantics></math></span></span> mode in this article would be traditionally called the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>m</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{m&gt;0,n+1}</annotation></semantics></math></span></span> mode, while the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo><mi>n</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{m=0,n}</annotation></semantics></math></span></span> mode in this article is the same as what is traditionally called. In other words, the traditional names of the modes for different values of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo separator="true">,</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">m,n</annotation></semantics></math></span></span> are
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.16em" columnalign="right center center center center" columnlines="solid none none none" columnspacing="1em" rowlines="solid none none none"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>1</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>2</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">⋯</mo></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mo fence="true">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>1</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mn>3</mn><mo fence="true">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>2</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>2</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>2</mn><mo separator="true">,</mo><mn>2</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>2</mn><mo separator="true">,</mo><mn>3</mn><mo fence="true">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mi><mi mathvariant="normal">⋮</mi><mpadded height="0em" voffset="0em"><mspace mathbackground="black" width="0em" height="1.5em"/></mpadded></mi></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">⋱</mo></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{array}{r|cccc}
&amp;n=0&amp;1&amp;2&amp;\cdots\\
\hline
m=0&amp;&amp;\p{0,1}&amp;\p{0,2}\\
1&amp;\p{1,1}&amp;\p{1,2}&amp;\p{1,3}\\
2&amp;\p{2,1}&amp;\p{2,2}&amp;\p{2,3}\\
\vdots&amp;&amp;&amp;&amp;\ddots
\end{array}</annotation></semantics></math></span></span></span></p>
<p>Another way to see this is that, according to Equation <a href="#eq:bessel-as-kummer-solutions">7</a>, in order for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{J_m'}z</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{Y_m'}z</annotation></semantics></math></span></span> to be real-valued, whenever <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\alp'}z&lt;0</annotation></semantics></math></span></span>, we would need <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc pz</annotation></semantics></math></span></span> to be purely imaginary, and vice versa. From Equation <a href="#eq:p-and-q">6</a>, we can see that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc pz</annotation></semantics></math></span></span> is real when <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>≥</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z\ge m</annotation></semantics></math></span></span>, and it is purely imaginary when <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>&lt;</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z&lt;m</annotation></semantics></math></span></span>. Therefore, <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\alp'}z</annotation></semantics></math></span></span> goes from negative to positive when
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span> crosses <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span></span>. This means that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span></span> is monotonically decreasing when <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>&lt;</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z&lt;m</annotation></semantics></math></span></span> but monotonically increasing when <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>&gt;</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z&gt;m</annotation></semantics></math></span></span>, and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>=</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z=m</annotation></semantics></math></span></span> is the minimum. This means that <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>r</mi><mi>z</mi><mo>&lt;</mo><mi>z</mi><mo>&lt;</mo><mi>m</mi><mtext>  </mtext><mo>⟹</mo><mtext>  </mtext><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">rz&lt;z&lt;m\implies\fc\alp{rz}&gt;\fc\alp z,</annotation></semantics></math></span></span></span> which means <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>&lt;</mo><mi>m</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\tht{z&lt;m}&lt;0</annotation></semantics></math></span></span>. This means that when <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span></span>, the root
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">z_{m0}</annotation></semantics></math></span></span> must exist, and we also get a lower bound <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>&gt;</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z_{m0}&gt;m</annotation></semantics></math></span></span>. However, when <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span>, <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span></span> would be monotonically increasing for all <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span>, and thus <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span></span> would be positive for all <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span>, which means that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">z_{00}</annotation></semantics></math></span></span> does not exist. By a similar method, we can also derive an upper bound for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">z_{m0}</annotation></semantics></math></span></span>. We have
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>m</mi><mo>&lt;</mo><mi>r</mi><mi>z</mi><mo>&lt;</mo><mi>z</mi><mtext>  </mtext><mo>⟹</mo><mtext>  </mtext><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">m&lt;rz&lt;z\implies\fc\alp{rz}&lt;\fc\alp z,</annotation></semantics></math></span></span></span> which means <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>&gt;</mo><mi>m</mi><mi mathvariant="normal">/</mi><mi>r</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\tht{z&gt;m/r}&gt;0</annotation></semantics></math></span></span>. This means that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>&lt;</mo><mi>m</mi><mi mathvariant="normal">/</mi><mi>r</mi></mrow><annotation encoding="application/x-tex">z_{m0}&lt;m/r</annotation></semantics></math></span></span>. This also implies the nonexistence of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">z_{00}</annotation></semantics></math></span></span>.</p>
<p>Maybe we can still formally define <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mn>00</mn></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">z_{00}=0</annotation></semantics></math></span></span>, and the eigenfunction would be the trivial <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Φ</mi><mn>00</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow></mrow><annotation encoding="application/x-tex">\fc{\Phi_{00}}{\rho,\vphi}=\mrm{const}</annotation></semantics></math></span></span> with a zero eigenvalue.</p>
<h3 data-label="0.2.4" id="numerical-root-finding">Numerical root-finding</h3>
<p>A key thing to note about the asymptotic series truncated to the first two terms is that it is impossible to get <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span> values smaller than a certain bound: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>z</mi><mrow><mi mathvariant="normal">t</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">c</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mi>θ</mi><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mrow><mo fence="true">(</mo><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><mrow><mn>8</mn><mi>r</mi><mi>θ</mi></mrow></mfrac><mo>≥</mo><msup><mi>z</mi><mo>∗</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><msqrt><mfrac><mrow><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn></mrow><mrow><mn>2</mn><mi>r</mi></mrow></mfrac></msqrt><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{z_\mrm{trunc}}\tht=\fr{\tht}{1-r}+\fr{\p{4m^2+3}\p{1-r}}{8r\tht}
\ge z^*\ceq\sqrt{\fr{4m^2+3}{2r}},</annotation></semantics></math></span></span></span> where the equality holds when <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mo>=</mo><msup><mi>θ</mi><mo>∗</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><msqrt><mrow><mrow><mo fence="true">(</mo><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mn>8</mn><mi>r</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\tht=\tht^*\ceq\p{1-r}\sqrt{\p{4m^2+3}/8r}</annotation></semantics></math></span></span>. This means that if we use <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>≈</mo><msub><mi>z</mi><mrow><mi mathvariant="normal">t</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">c</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mi>π</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">z_{mn}\approx\fc{z_\mrm{trunc}}{n\pi}</annotation></semantics></math></span></span> to approximate the roots, we will miss all the roots with <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>&lt;</mo><msup><mi>z</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">z&lt;z^*</annotation></semantics></math></span></span>. The number of missed roots is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mo>∗</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⌈</mo><msup><mi>θ</mi><mo>∗</mo></msup><mi mathvariant="normal">/</mi><mi>π</mi><mo fence="true">⌉</mo></mrow></mrow><annotation encoding="application/x-tex">n^*\ceq\ceil{\tht^*/\pi}</annotation></semantics></math></span></span> (this includes the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span></span> mode, so for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span>, the number of missed roots is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mo>∗</mo></msup><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n^*-1</annotation></semantics></math></span></span>). According to the bound on <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">z_{m0}</annotation></semantics></math></span></span> we derived in the previous section, all the missing roots are in the interval
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><msup><mi>z</mi><mo>∗</mo></msup><mo separator="true">,</mo><mi>m</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{z^*,m}</annotation></semantics></math></span></span>. In order to numerically find those roots, we can equispacedly sample more than <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">n^*</annotation></semantics></math></span></span> points (maybe <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>3</mn><mrow><mo fence="true">(</mo><msup><mi>n</mi><mo>∗</mo></msup><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">3\p{n^*+1}</annotation></semantics></math></span></span> points to be safe) in the interval as initial guesses and use usual root-finding methods such as Newton’s method to find the roots.</p>
<h2 data-label="0.3" id="limiting-cases">Limiting cases</h2>
<h3 data-label="0.3.1" id="the-disk-limit">The disk limit</h3>
<p>When <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r\to0</annotation></semantics></math></span></span>, the annulus becomes a disk. We will see how the eigenmodes tend to the eigenmodes on a disk, which are given by <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi mathvariant="normal">Φ</mi><mrow><mi>m</mi><mi>n</mi></mrow><mrow><mi mathvariant="normal">d</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">k</mi></mrow></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msubsup><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow><mrow><mi mathvariant="normal">d</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">k</mi></mrow></msubsup><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>m</mi><mi>φ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\Phi_{mn}^{\mrm{disk}}}{\rho,\vphi}
=\fc{J_m}{z_{mn}^\mrm{disk}\rho/R_\mrm{out}}\e^{\i m\vphi},</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow><mrow><mi mathvariant="normal">d</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">z_{mn}^\mrm{disk}</annotation></semantics></math></span></span> are the roots of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">J_m'</annotation></semantics></math></span></span>.</p>
<p>In this case, we can regard <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">rz</annotation></semantics></math></span></span> as small, so using Equation <a href="#eq:bessel-limiting">9</a> gives <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mn>2</mn><mrow><mi>π</mi><mi>r</mi><mi>z</mi></mrow></mfrac><msubsup><mi>Y</mi><mn>0</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><msup><mn>2</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo></mrow><mrow><mi>π</mi><msup><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow></mfrac><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable></mrow><mspace width="1em"/><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><mfrac><mn>2</mn><mrow><mi>π</mi><mi>r</mi><mi>z</mi></mrow></mfrac><msubsup><mi>J</mi><mn>0</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><mfrac><mrow><msup><mn>2</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo></mrow><mrow><mi>π</mi><msup><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow></mfrac><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fc fz=\begin{dcases}
\fr2{\pi rz}\fc{Y_0'}z,&amp;m=0,\\
\fr{2^mm!}{\pi\p{rz}^{m+1}}\fc{Y_m'}z,&amp;m&gt;0,
\end{dcases}\quad
\fc gz=\begin{dcases}
-\fr2{\pi rz}\fc{J_0'}z,&amp;m=0,\\
-\fr{2^mm!}{\pi\p{rz}^{m+1}}\fc{J_m'}z,&amp;m&gt;0.
\end{dcases}</annotation></semantics></math></span></span></span>
This means that <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>tan</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mrow><mo>−</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mi>tan</mi><mo>⁡</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\tan\fc\tht z=\fr{\fc gz}{\fc fz}=\fr{-\fc{J_m'}z}{\fc{Y_m'}z}=\tan\fc\alp z,</annotation></semantics></math></span></span></span> or just <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z=\fc\alp z</annotation></semantics></math></span></span>. We can also see this by noting that
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\alp{rz}=0</annotation></semantics></math></span></span> when <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r=0</annotation></semantics></math></span></span>, so <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z=\fc\alp z-\fc\alp{rz}=\fc\alp z</annotation></semantics></math></span></span>. Therefore, the solutions to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>n</mi><mi>π</mi></mrow><annotation encoding="application/x-tex">\fc\tht z=n\pi</annotation></semantics></math></span></span> would just be the solutions to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>n</mi><mi>π</mi></mrow><annotation encoding="application/x-tex">\fc\alp z=n\pi</annotation></semantics></math></span></span>, which are just roots of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">J_m'</annotation></semantics></math></span></span>. This hence recovers the eigenmodes on a disk.</p>
<h3 data-label="0.3.2" id="the-circle-limit">The circle limit</h3>
<p>When <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r\to1</annotation></semantics></math></span></span>, the annulus becomes a circle. In this case, we can suppress the radial dimension to make the problem one-dimensional. The eigenmodes would be <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi mathvariant="normal">Φ</mi><mi>m</mi><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">c</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">e</mi></mrow></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>m</mi><mi>φ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\Phi_m^\mrm{circle}}{\vphi}=\e^{\i m\vphi},</annotation></semantics></math></span></span></span> and the eigenvalues are <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>λ</mi><mi>m</mi><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">c</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">e</mi></mrow></msubsup><mo>=</mo><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><msup><mi>R</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\lmd^\mrm{circle}_m=-m^2/R^2</annotation></semantics></math></span></span> (no need to distinguish between <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">R_\mrm{in}</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub></mrow><annotation encoding="application/x-tex">R_\mrm{out}</annotation></semantics></math></span></span> here).</p>
<p>This case is interesting in that the radial dimension would become “invisible” from the physics of the system. Note that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">\fc\tht{z\to\infty}=\p{1-r}z</annotation></semantics></math></span></span> would be a very flat line, which means that <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span></span> would need to increase by a very large amount in order to get <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span></span> to increase by <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>π</mi></mrow><annotation encoding="application/x-tex">\pi</annotation></semantics></math></span></span>. Therefore, the radial quantum number <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span></span> would be very hard to increase. Formally, the eigenvalues of the modes with <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n&gt;0</annotation></semantics></math></span></span> will become infinite, so we then practically only need to consider <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span></span> for the “low-energy description” of the system.</p>
<p>We have previously derived the lower bound and upper bound for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">z_{m0}</annotation></semantics></math></span></span>, which gives <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>∈</mo><mrow><mo fence="true">(</mo><mi>m</mi><mo separator="true">,</mo><mi>m</mi><mi mathvariant="normal">/</mi><mi>r</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">z_{m0}\in\p{m,m/r}</annotation></semantics></math></span></span>. When <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r\to1</annotation></semantics></math></span></span>, we then get <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>=</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z_{m0}=m</annotation></semantics></math></span></span> by the squeeze theorem. The eigenvalue of the Laplacian is then
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>=</mo><mo>−</mo><msubsup><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow><mn>2</mn></msubsup><mi mathvariant="normal">/</mi><msup><mi>R</mi><mn>2</mn></msup><mo>=</mo><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><msup><mi>R</mi><mn>2</mn></msup><mo>=</mo><msubsup><mi>λ</mi><mi>m</mi><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">c</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">e</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\lmd_{m0}=-z_{m0}^2/R^2=-m^2/R^2=\lmd^\mrm{circle}_m</annotation></semantics></math></span></span>.</p>
<p>For the case of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span>, there are two ways to look at it. If we do not regard the trivial mode <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Φ</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow></mrow><annotation encoding="application/x-tex">\fc{\Phi_0}{\vphi}=\mrm{const}</annotation></semantics></math></span></span> as a mode, then we can say that the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span> mode does not exist on a circle, which fits nicely with the fact that the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span></span> mode does not exist for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span> in the annulus. With the other way, if we regard the <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span></span> mode on the annulus as the trivial mode <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Φ</mi><mn>00</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow></mrow><annotation encoding="application/x-tex">\fc{\Phi_{00}}{\rho,\vphi}=\mrm{const}</annotation></semantics></math></span></span>, then it also nicely tends to the trivial mode <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span></span> on the circle in the limit <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r\to1</annotation></semantics></math></span></span>.</p>
<h3 data-label="0.3.3" id="the-homogeneous-dirichlet-boundary-condition">The homogeneous Dirichlet boundary condition</h3>
<p>So far I only talked about the homogeneous Neumann boundary condition. In the case of homogeneous Dirichlet boundary condition <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo>=</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo>=</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc\Phi{\rho=R_\mrm{in},\vphi}=\fc\Phi{\rho=R_\mrm{out},\vphi}=0,</annotation></semantics></math></span></span></span> most of the derivation is the same, but with <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc fz\ceq\fc{J_m}{rz}\fc{Y_m}z+\fc{Y_m}{rz}\fc{J_m}z,\quad
\fc gz\ceq\fc{J_m}{rz}\fc{Y_m}z-\fc{Y_m}{rz}\fc{J_m}z.</annotation></semantics></math></span></span></span></p>
<p>There is a qualitative difference from the Neumann case, though, which comes from the limiting behavior of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc \tht{z\to0}</annotation></semantics></math></span></span>: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mi>π</mi><mi>ln</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>1</mn><mi mathvariant="normal">/</mi><mi>r</mi><mo fence="true">)</mo></mrow></mrow><mrow><mn>2</mn><mi>ln</mi><mo>⁡</mo><mi>r</mi><mi>z</mi><mi>ln</mi><mo>⁡</mo><mi>z</mi></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mi>π</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msup><mi>r</mi><mrow><mn>2</mn><mi>m</mi></mrow></msup><mo fence="true">)</mo></mrow></mrow><mrow><msup><mn>4</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo><mrow><mo fence="true">(</mo><mi>m</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow></mfrac><msup><mi>z</mi><mrow><mn>2</mn><mi>m</mi></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fc\tht{z\to0}=\begin{dcases}
\fr{\pi\fc\ln{1/r}}{2\ln rz\ln z},&amp;m=0,\\
\fr{\pi\p{1-r^{2m}}}{4^mm!\p{m-1}!}z^{2m},&amp;m&gt;0.
\end{dcases}</annotation></semantics></math></span></span></span> We can see that they are positive in both cases, which means that
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\tht z=0</annotation></semantics></math></span></span> does not have a positive solution in both cases. Therefore, the radial modes start at <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n=1</annotation></semantics></math></span></span> for all <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span></span> (in contrast to the Neumann case where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span></span> mode exists for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span></span>). The traditional naming of the eigenmodes then agrees with <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>m</mi><mo separator="true">,</mo><mi>n</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{m,n}</annotation></semantics></math></span></span>.</p>
<p>An implication of the difference is that there is no longer a non-trivial circle limit. This is because the eigenvalue of any mode with positive <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span></span> would tend to infinity as <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r\to1</annotation></semantics></math></span></span>.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="math" /><category term="mathematical physics" /><category term="pde" /><category term="ode" /><category term="long paper" /><summary type="html"><![CDATA[Several features of the eigenfunctions of the Laplacian on an annulus with homogeneous Neumann boundary condition are discussed. The distribution of the eigenvalues is discussed in detail, making use of a phase angle function called <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span></span>. The limiting cases of a disk and a circle are discussed.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-04-11-laplacian-annulus.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-04-11-laplacian-annulus.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[This is what will happen after you get a haircut]]></title><link href="https://ulysseszh.github.io/math/2023/01/18/hair-growth.html" rel="alternate" type="text/html" title="This is what will happen after you get a haircut" /><published>2023-01-18T12:11:41-08:00</published><updated>2023-01-18T12:11:41-08:00</updated><id>https://ulysseszh.github.io/math/2023/01/18/hair-growth</id><content type="html" xml:base="https://ulysseszh.github.io/math/2023/01/18/hair-growth.html"><![CDATA[<p>Denote the length distribution of one’s hair to be <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>l</mi><mo separator="true">,</mo><mi>t</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">f(l,t)</annotation></semantics></math></span></span>. This means that, at time <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span></span>, the number of hairs within the length range from <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span></span> to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mo>+</mo><mi mathvariant="normal">d</mi><mi>l</mi></mrow><annotation encoding="application/x-tex">l+\mathrm dl</annotation></semantics></math></span></span> is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>l</mi></mrow><annotation encoding="application/x-tex">Nf\!\left(l,t\right)\mathrm dl</annotation></semantics></math></span></span>, where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span></span> is the total number of hairs.</p>
<p>Each hair grows at constant speed <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span></span>. However, they cannot grow indefinitely because there is a probability of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lambda</annotation></semantics></math></span></span> per unit time for a hair to be lost naturally (this is the same assumption as the exponential decay). After a hair is lost, it restarts growing from zero length.</p>
<p>Suppose that at <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t=0</annotation></semantics></math></span></span> you have got a haircut so that the hair length distribution becomes <span id="eq:eq-initial-condition" data-label="(1)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>l</mi><mo separator="true">,</mo><mn>0</mn><mo stretchy="false">)</mo><mo>=</mo><msub><mi>f</mi><mn>0</mn></msub><mo stretchy="false">(</mo><mi>l</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">f(l,0)=f_0(l).</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(1)</annotation></semantics></math></span></span></span></span> </span></span> Then, how does the distribution evolve with time?</p>
<hr/>
<p>Because <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span></span> is a distribution function, There is a normalization restriction on <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span></span>: <span id="eq:eq-normalization" data-label="(2)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>l</mi><mo>=</mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><mi>t</mi><mo>≥</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\int_0^\infty f\!\left(l,t\right)\mathrm dl=1,\quad t\ge0.</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(2)</annotation></semantics></math></span></span></span></span> </span></span> This normalization condition also applies to the initial condition (<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t=0</annotation></semantics></math></span></span>). This means that the function <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">f_0</annotation></semantics></math></span></span> also satisfies the normalization restriction (Equation <a href="#eq:eq-normalization">2</a>) <span id="eq:eq-normalization-f0" data-label="(3)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>l</mi><mo>=</mo><mn>1.</mn></mrow><annotation encoding="application/x-tex">\int_0^\infty f_0\!\left(l\right)\mathrm dl=1.</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(3)</annotation></semantics></math></span></span></span></span> </span></span> Because of the natural loss of hair, only a <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><mi>λ</mi><mtext> </mtext><mi mathvariant="normal">d</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">1-\lambda\,\mathrm dt</annotation></semantics></math></span></span> portion of hair will survive <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">d</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">\mathrm dt</annotation></semantics></math></span></span>. According to this, we can construct the following equation: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo>+</mo><mi>v</mi><mtext> </mtext><mi mathvariant="normal">d</mi><mi>t</mi><mo separator="true">,</mo><mi>t</mi><mo>+</mo><mi mathvariant="normal">d</mi><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mtext> </mtext><mi mathvariant="normal">d</mi><mi>t</mi><mo fence="true">)</mo></mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">f\!\left(l+v\,\mathrm dt,t+\mathrm dt\right)=
\left(1-\lambda\,\mathrm dt\right)f\!\left(l,t\right).</annotation></semantics></math></span></span></span> This equation can be reduced to a first-order linear PDE: <span id="eq:eq-pde" data-label="(4)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>v</mi><mfrac><mrow><mi mathvariant="normal">∂</mi><mi>f</mi></mrow><mrow><mi mathvariant="normal">∂</mi><mi>l</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mi mathvariant="normal">∂</mi><mi>f</mi></mrow><mrow><mi mathvariant="normal">∂</mi><mi>t</mi></mrow></mfrac><mo>+</mo><mi>λ</mi><mi>f</mi><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">v\frac{\partial f}{\partial l}+\frac{\partial f}{\partial t}+\lambda f=0.</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(4)</annotation></semantics></math></span></span></span></span> </span></span></p>
<p>Define <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>l</mi><mo>−</mo><mi>v</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">\theta\coloneqq l-vt</annotation></semantics></math></span></span>, and define a new function <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo>+</mo><mi>v</mi><mi>t</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">g\!\left(\theta,t\right)\coloneqq f\!\left(\theta+vt,t\right).</annotation></semantics></math></span></span></span> Then, <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mi mathvariant="normal">∂</mi><mi>g</mi></mrow><mrow><mi mathvariant="normal">∂</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mi>v</mi><mfrac><mrow><mi mathvariant="normal">∂</mi><mi>f</mi></mrow><mrow><mi mathvariant="normal">∂</mi><mi>l</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mi mathvariant="normal">∂</mi><mi>f</mi></mrow><mrow><mi mathvariant="normal">∂</mi><mi>t</mi></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\frac{\partial g}{\partial t}=v\frac{\partial f}{\partial l}+\frac{\partial f}{\partial t}.</annotation></semantics></math></span></span></span> Then, Equation <a href="#eq:eq-pde">4</a> can be reduced to
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mi mathvariant="normal">∂</mi><mi>g</mi></mrow><mrow><mi mathvariant="normal">∂</mi><mi>t</mi></mrow></mfrac><mo>+</mo><mi>λ</mi><mi>g</mi><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\frac{\partial g}{\partial t}+\lambda g=0.</annotation></semantics></math></span></span></span> The solution is <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>t</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">g\!\left(\theta,t\right)=\Phi\!\left(\theta\right)\mathrm e^{-\lambda t},</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Φ</mi></mrow><annotation encoding="application/x-tex">\Phi</annotation></semantics></math></span></span> is an arbitrary function defined on <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\mathbb R</annotation></semantics></math></span></span>. Therefore, the general solution to Equation <a href="#eq:eq-pde">4</a> is <span id="eq:eq-general-solution" data-label="(5)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo>−</mo><mi>v</mi><mi>t</mi><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>t</mi></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">f\!\left(l,t\right)=\Phi\!\left(l-vt\right)\mathrm e^{-\lambda t}.</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>5</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(5)</annotation></semantics></math></span></span></span></span> </span></span></p>
<p>By utilizing Equation <a href="#eq:eq-initial-condition">1</a>, we can find <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Φ</mi><mo stretchy="false">(</mo><mi>θ</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\Phi(\theta)</annotation></semantics></math></span></span> for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\theta&gt;0</annotation></semantics></math></span></span>. Substitute <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t=0</annotation></semantics></math></span></span> into Equation <a href="#eq:eq-general-solution">5</a> and compare with Equation <a href="#eq:eq-initial-condition">1</a>, and we have <span id="eq:eq-Phi-theta-0" data-label="(6)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Φ</mi><mo stretchy="false">(</mo><mi>θ</mi><mo>&gt;</mo><mn>0</mn><mo stretchy="false">)</mo><mo>=</mo><msub><mi>f</mi><mn>0</mn></msub><mo stretchy="false">(</mo><mi>θ</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\Phi(\theta&gt;0)=f_0(\theta).</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>6</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(6)</annotation></semantics></math></span></span></span></span> </span></span> This only gives <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Φ</mi><mo stretchy="false">(</mo><mi>θ</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\Phi(\theta)</annotation></semantics></math></span></span> for <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\theta&gt;0</annotation></semantics></math></span></span> because <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">f_0</annotation></semantics></math></span></span> is not defined on negative numbers. The rest of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Φ</mi></mrow><annotation encoding="application/x-tex">\Phi</annotation></semantics></math></span></span>, however, may be deduced from Equation <a href="#eq:eq-normalization">2</a>.</p>
<p>Substitute Equation <a href="#eq:eq-general-solution">5</a> into Equation <a href="#eq:eq-normalization">2</a>, and we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mn>1</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo>−</mo><mi>v</mi><mi>t</mi><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>t</mi></mrow></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>l</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>t</mi></mrow></msup><mrow><mo fence="true">(</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mi>v</mi><mi>t</mi></mrow></msubsup><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo>−</mo><mi>v</mi><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>l</mi><mo>+</mo><msubsup><mo>∫</mo><mrow><mi>v</mi><mi>t</mi></mrow><mi mathvariant="normal">∞</mi></msubsup><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo>−</mo><mi>v</mi><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>l</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>t</mi></mrow></msup><mrow><mo fence="true">(</mo><msubsup><mo>∫</mo><mrow><mo>−</mo><mi>v</mi><mi>t</mi></mrow><mn>0</mn></msubsup><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>θ</mi><mo>+</mo><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>θ</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow/></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow/><mo>=</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>t</mi></mrow></msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mo>−</mo><mi>v</mi><mi>t</mi></mrow></msubsup><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>θ</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
1&amp;=\int_0^\infty\Phi\!\left(l-vt\right)\mathrm e^{-\lambda t}\,\mathrm dl\\
&amp;=\mathrm e^{-\lambda t}\left(
  \int_0^{vt}\Phi\!\left(l-vt\right)\mathrm dl
  +\int_{vt}^\infty\Phi\!\left(l-vt\right)\mathrm dl
\right)\\
&amp;=\mathrm e^{-\lambda t}\left(
  \int_{-vt}^0\Phi\!\left(\theta\right)\mathrm d\theta
  +\int_0^\infty f_0\!\left(\theta\right)\mathrm d\theta
\right)\\
&amp;=\mathrm e^{-\lambda t}\left(1-\int_0^{-vt}\Phi\!\left(\theta\right)\mathrm d\theta\right).
\end{align*}</annotation></semantics></math></span></span></span>
Therefore, we have the integral of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Φ</mi></mrow><annotation encoding="application/x-tex">\Phi</annotation></semantics></math></span></span> on negative intervals: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mo>−</mo><mi>v</mi><mi>t</mi></mrow></msubsup><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>θ</mi><mo>=</mo><mn>1</mn><mo>−</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>λ</mi><mi>t</mi></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\int_0^{-vt}\Phi\!\left(\theta\right)\mathrm d\theta
=1-\mathrm e^{\lambda t}.</annotation></semantics></math></span></span></span> Find the derivative of both sides of the equation w.r.t. <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span></span>, and we have <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo>−</mo><mi>v</mi><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>v</mi><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><mi>λ</mi><msup><mi mathvariant="normal">e</mi><mrow><mi>λ</mi><mi>t</mi></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">-v\Phi\!\left(-vt\right)=-\lambda\mathrm e^{\lambda t}.</annotation></semantics></math></span></span></span> In other words, <span id="eq:eq-Phi-theta-lt-0" data-label="(7)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo>&lt;</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mi>λ</mi><mi>v</mi></mfrac><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mfrac><mi>λ</mi><mi>v</mi></mfrac><mi>θ</mi></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\Phi\!\left(\theta&lt;0\right)=\frac\lambda v\mathrm e^{-\frac\lambda v\theta}.</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>7</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(7)</annotation></semantics></math></span></span></span></span> </span></span></p>
<p>Combining Equation <a href="#eq:eq-Phi-theta-0">6</a> and <a href="#eq:eq-Phi-theta-lt-0">7</a> and substituting back to Equation <a href="#eq:eq-general-solution">5</a>, we can find the special solution to Equation <a href="#eq:eq-pde">4</a> subject to restrictions Equation <a href="#eq:eq-normalization">2</a> and <a href="#eq:eq-initial-condition">1</a>: <span id="eq:eq-solution" data-label="(8)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>l</mi><mo separator="true">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mfrac><mi>λ</mi><mi>v</mi></mfrac><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mfrac><mi>λ</mi><mi>v</mi></mfrac><mi>l</mi></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mn>0</mn><mo>&lt;</mo><mi>l</mi><mo>&lt;</mo><mi>v</mi><mi>t</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>t</mi></mrow></msup><msub><mi>f</mi><mn>0</mn></msub><mo stretchy="false">(</mo><mi>l</mi><mo>−</mo><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>l</mi><mo>&gt;</mo><mi>v</mi><mi>t</mi><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">f(l,t)=\begin{cases}
\frac\lambda v\mathrm e^{-\frac\lambda vl},&amp;0&lt;l&lt;vt,\\
\mathrm e^{-\lambda t}f_0(l-vt),&amp;l&gt;vt.
\end{cases}</annotation></semantics></math></span></span></span></span> <span class="katex-display-number"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>8</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(8)</annotation></semantics></math></span></span></span></span> </span></span></p>
<p>This is our final answer.</p>
<hr/>
<p>This result is interesting in that any distribution will finally evolve into an exponential distribution with the rate parameter being <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mi>λ</mi><mi>v</mi></mfrac></mrow><annotation encoding="application/x-tex">\frac\lambda v</annotation></semantics></math></span></span> as <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">t\to\infty</annotation></semantics></math></span></span> no matter what the initial distribution is: <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>l</mi><mo separator="true">,</mo><mi mathvariant="normal">∞</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mi>λ</mi><mi>v</mi></mfrac><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mfrac><mi>λ</mi><mi>v</mi></mfrac><mi>l</mi></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">f(l,\infty)=\frac\lambda v\mathrm e^{-\frac\lambda vl}.</annotation></semantics></math></span></span></span> This distribution is the stationary solution to Equation <a href="#eq:eq-pde">4</a>. This is actually a normal behavior for first-order PDEs. For example, the thermal equilibrium state is the stationary solution to the heat equation, and any other solution approaches to the stationary solution over time.</p>
<p>This behavior can explain why human body hair tends to grow to only a certain length instead of being indefinitely long. You may try shaving your leg hair and wait for some weeks. You can observe that they grow to approximately the original length but not any longer. It is similar for your hair (on top of your head), but <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lambda</annotation></semantics></math></span></span> of hair is so small that it can hardly reach its terminal length if you get haircuts regularly.</p>
<p>Another thing to note is that this may explain a phenomenon that we may observe: the longer your hair is, the more slowly it grows, and your hair no longer seems to grow when it reaches a certain length. If the length of hair that we observe is actually the mean length of the hair, then it is <span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>μ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mi>l</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>l</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>l</mi><mo>=</mo><mrow><mo fence="true">(</mo><msub><mi>μ</mi><mn>0</mn></msub><mo>−</mo><mfrac><mi>v</mi><mi>λ</mi></mfrac><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>t</mi></mrow></msup><mo>+</mo><mfrac><mi>v</mi><mi>λ</mi></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\mu(t)=\int_0^\infty lf\!\left(l,t\right)\mathrm dl
=\left(\mu_0-\frac v\lambda\right)\mathrm e^{-\lambda t}+\frac v\lambda,</annotation></semantics></math></span></span></span> where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>μ</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mu_0</annotation></semantics></math></span></span> is the mean of the distribution <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">f_0</annotation></semantics></math></span></span>. It can be seen that the growth rate of the mean length of hair varies exponentially.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="math" /><category term="calculus" /><category term="probability" /><category term="pde" /><summary type="html"><![CDATA[Denote the length distribution of one’s hair to be <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>l</mi><mo separator="true">,</mo><mi>t</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">f(l,t)</annotation></semantics></math></span></span>, where <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span></span> is hair length, and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span></span> is time. Considering that each hair may be lost naturally from time to time (there is a probability of <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mtext> </mtext><mi mathvariant="normal">d</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">\lambda\,\mathrm dt</annotation></semantics></math></span></span> for each hair to be lost within time range from <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span></span> to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>+</mo><mi mathvariant="normal">d</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">t+\mathrm dt</annotation></semantics></math></span></span>) and then restart growing from zero length, how will the length distribution of hair evolve with time? It turns out that we may model it with a first-order PDE.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2023-01-18-hair-growth.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2023-01-18-hair-growth.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>