読者です 読者をやめる 読者になる 読者になる

三角関数との積の積分のテクニック

最近数学の話題が多いですね。プログラミングを期待している人(いるのか?)ごめんなさい。
微分方程式の解き方で演算子法のとこで出てきました。この三角関数との積の形の積分を簡略化する方法自体はそこだけではなくいろいろなところで使えるなとか思ったのでここにまとめておきます。
まずは基本的なところから。
オイラーの公式
e^{xi}=\cos(x)+i\sin(x)
と表示されます。かなり有名な式ですね。これを使います。
発想としては三角関数より指数関数の微積分のほうが楽だよねという。
たとえば
\int x\sin(x)dx

\int x e^{ix}dx
\int x(\cos(x)+i\sin(x))dx
\int x\cos(x)dx+i\int\sin(x)dx
となって虚部をとれば答えとなります。これだけじゃありがたみが無いですね。
次はわりと受験問題でよく見るタイプの三角関数と指数関数の積の積分
I=\int e^{x}\cos(x) dx,J=\int e^{x}\sin(x) dx
とかを考えて見ましょう。
\int e^{x}e^{xi} dx
\int e^{(1+i)x}dx
\frac{1-i}{2}  e^{x}e^{ix}
\frac{1-i}{2}  e^{x}(\cos(x)+i\sin(x))
\frac{1}{2} e^{x}(\cos(x)+\sin(x)+\frac{1}{2} e^{x}(\sin(x)-\cos(x))i
実部と虚部はそれぞれIとJに対応するので
I=\frac{1}{2} e^{x}(\cos(x)+\sin(x),J=\frac{1}{2} e^{x}(\sin(x)-\cos(x))
と結構簡単な計算でもとまりました。

あと役に立ちそうなのがフーリエ級数
f(x)を展開するとき奇関数でも偶関数でもないときa[n]とb[n]を両方計算する必要があり面倒です。
複素フーリエ級数なら一回ですむのですが問題設定によってはそうも言ってられません。
そこで今回の方法を使い
\pi(a_n+i b_n)
=(\int_{-\pi}^{\pi} f(x)\cos(nx)dx+i\int_{-\pi}^{\pi} f(x)\sin(nx)dx
=\int_{-\pi}^{\pi} f(x)e^{inx}dx
あとは積分後に実部と虚部だけ抜き出してあげれば終了です。*1

とこんな感じで一回の積分計算、それも比較的簡単になることが多い指数関数の積分でa,b両方の係数を求めることが出来るようになりました。
もちろんa_0
別に求める必要がありますがたいした積分ではないことが多いはずです。
f(x)=e^{\alpha x}
などを展開してみれば強力さがわかるでしょう。

*1:今回のこの式では[π,π)までの周期関数しか展開できません(あるいはその範囲。周期的になるように関数を[π,π)のをペタペタ張り合わせて拡張すれば一応可能)。任意の周期、および無限の区間のフーリエ級数であるフーリエ変換に拡張することもできますが、今回は面倒なので[π,π)としておきます。