リッシュのアルゴリズム
積分の(初等関数範囲での)可解性を確かめるアルゴリズム
$ \int f(x){\rm d}xが初等関数で書ける場合、
$ f(x)は、初等関数$ b(x)と、有限個の係数$ k_iと初等関数$ a_i(x)を用いて、
$ f(x)=\sum_{i=1}^nk_i\frac{a'_i(x)}{a_i(x)}+b'(x)のように書ける。
よって、$ \int f(x){\rm d}x=\sum_{i=1}^nk_i\log\{a_i(x)\}+b(x)のように解ける。
ここで、$ b(x)と$ a_i(x)の候補として考えうる初等関数の個数は有限個である。
詳しい説明
初等関数
冪関数: 関数$ p(x)=x^r\quad(r\in\R)を冪関数と呼ぶことにする。
冪関数の微分: 冪関数を微分すると$ p'(x)=rx^{r-1}となる。
指数関数: 関数$ \exp(x)=e^x\quad(e=\lim_{\Delta\to0}(1+\Delta)^{\frac{1}{\Delta}})を指数関数と言う。
指数関数の微分: 指数関数を微分すると$ \exp'(x)=\exp(x)となる。
対数関数: 指数関数の逆関数$ \exp(y)=x\quad\Leftrightarrow\quad y=\ln xを対数関数と言う。
対数関数の微分: 対数関数を微分すると$ \log'(x)=\frac{1}{x}となる。
三角関数: 三角関数は複素指数関数の和で表せる。
$ \cos x=\frac12\left(e^{ix}+e^{-ix}\right)
$ \sin x=\frac1{2i}\left(e^{ix}-e^{-ix}\right)
$ \tan x=\frac1i\frac{e^{ix}-e^{-ix}}{e^{ix}+e^{-ix}}
初等関数: 以下の条件を満たす関数を初等関数と呼ぶ。
(複素)冪関数と(複素)指数関数は初等関数である
初等関数と初等関数の和、差、積、商は初等関数である
初等関数と初等関数の合成は初等関数である
初等関数の逆関数は初等関数である。
微分の諸性質
線形性: $ (kf+g)'=kf'+g'
ライプニッツ記法: $ \frac{{\rm d}}{{\rm d}x}(kf+g)=k\frac{{\rm d}f}{{\rm d}t}+\frac{{\rm d}g}{{\rm d}t}
積の微分: $ (fg)'=g\cdot f'+f\cdot g'
ライプニッツ記法: $ \frac{{\rm d}}{{\rm d}t}f\cdot g=g\cdot \frac{{\rm d}f}{{\rm d}t}+f\cdot \frac{{\rm d}g}{{\rm d}t}
商の微分: $ \left(\frac{f}{g}\right)'=\frac{g\cdot f'-f\cdot g'}{g^2}
ライプニッツ記法: $ \frac{{\rm d}}{{\rm d}t}\frac fg=\frac1{g^2}\cdot \left(g\cdot \frac{{\rm d}f}{{\rm d}t}-f\cdot \frac{{\rm d}g}{{\rm d}t}\right)
合成関数の微分: $ \{f(g)\}'=f'(g)\cdot g'
ライプニッツ記法: $ \frac{{\rm d}f}{{\rm d}t}=\frac{{\rm d}f}{{\rm d}g}\frac{{\rm d}g}{{\rm d}t}
逆関数の微分: $ \frac{{\rm d}t}{{\rm d}x}=\frac1{\frac{{\rm d}x}{{\rm d}t}}
左辺: $ x=f(t)のとき、$ t=f^{-1}(x)となっており、$ \frac{{\rm d}t}{{\rm d}x}=\frac{{\rm d}}{{\rm d}x}f^{-1}({\color{red}x})となる。
右辺: $ \frac{{\rm d}x}{{\rm d}t}=f'({\color{red}t})となる。
積分の諸性質
線形性: $ \int kf+g{\rm d}t=kF+G
積の積分: $ \int f\cdot g{\rm d}t=F\cdot g-\int F\cdot g'{\rm d}t
商の積分: $ \int \frac{\color{red}f'}{f}{\rm d}t'=\log f
合成関数の微分: $ \int f(g)\cdot {\color{red}g'}{\rm d}t=F(g)
リッシュのアルゴリズムの探索候補
初等関数のうち、積分で問題を引き起こすのは積の微分由来の積分と、合成関数の微分由来の積分である。
冪関数を含む微分: $ \{f\cdot p(g)\}'=f'\cdot p(g)+f\cdot p'(g)\cdot g'
指数関数を含む微分: $ (f\cdot\exp(g))'=f'\cdot\exp(g)+f\cdot g'\cdot\exp(g)=(f'+f\cdot g')\cdot\exp g
対数関数を含む微分: $ \{f(\ln g)^n\}'=f'(\ln g)^n+n\frac{f}{g}(\ln g)^{n-1}=\left(f'\ln g+n\frac fg\right)(\ln g)^{n-1}
ここから、
1. $ \int \phi(x){\rm d}xの式に$ \exp gが因数として含まれる場合は$ \phi(x)の中にも$ \exp gが因数として含まれなければならない。
2. $ \int\phi(x){\rm d}xの式に$ (\ln g)^nが因数として含まれる場合は$ \phi(x)の中にも$ (\ln g)^{m\le n}が因数として含まれなければならない。