Google Colab上でフーリエ級数を計算するプログラムを公開しました.リンク先のコメントを参考にして遊んでみてください.
以下のようにノイズの混じった画像があったとする:
これを $t=0$ での値 $f(x,y)$ として,講義で扱った熱方程式の2次元版
$$ \begin{equation} \begin{dcases} \partial_t u(x,y,t)=\partial_{x}^{2}u(x,y,t)+\partial_{y}^{2}u(x,y,t), & \\ u(x,y,0)=f(x,y) & \end{dcases} \end{equation} $$
を解くと(本当は画像の端で何が起こるかも指定しないといけないが,説明が面倒なので省略),下図のように時間の経過と共にノイズが消えてゆく.
ところで,上の方法だと元画像の輪郭がぼやけてしまう.実は熱方程式を少しいじった偏微分方程式を用いると,下図のように輪郭がぼやけるのを防ぐことができる(1次元の場合,これは
$$ \begin{equation} \partial_t u(x,t)=\partial_x \left( \frac{\partial_x u}{1+\nu|\partial_x u|^2} \right)(x,t) \end{equation} $$
という形になる.$\nu$ は正の実数で,$\nu \to 0$ の極限で (1) は熱方程式と一致する.)
方程式 (2) はいわゆる「非線形偏微分方程式」の一種である.熱方程式 (1) は $u_1,u_2$ が解であれば,任意の実数 $\alpha,\beta$ に対して $\alpha u_1+\beta u_2$ も解になるという性質を持つ.このような偏微分方程式は「線形偏微分方程式」とよばれる.線形偏微分方程式はフーリエ変換を用いると上手く解けることが多いが,非線形偏微分方程式はそうはいかず,圧倒的に難しい.しかし,面白い現象を理解するには非線形偏微分方程式の解の様子を理解することが重要で,これは現代数学の魅力的なテーマの1つとなっている.
Google Colab上でフーリエ第$N$部分和 $S_N(f)$ のチェザロ和 $\sigma_N(f)$ を計算するプログラムを公開しました.リンク先のコメントを参考にして遊んでみてください.