原始関数を置換積分で求めることがありますが、質問があります。

例えば、 R で連続な関数 f(x) の原始関数 F(x) を求めたいとします。

F(x) =∫_{0}^{x} f(t) dt + C ですので、

∫_{0}^{x} f(t) dt を求めればいいことになります。

これを置換積分で求めるとします。

t = φ(s) と置換するとします。

∫_{0}^{x} f(t) dt = ∫_{φ^{-1}(0)}^{φ^{-1}(x)} f(φ(s)) *φ'(s) ds

と計算することになります。

そこで、質問です。

φ^{-1} の値域を S とします。
S が R の真部分集合であるとします。

∫_{0}^{x} f(t) dt = ∫_{φ^{-1}(0)}^{φ^{-1}(x)} f(φ(s)) *φ'(s) ds

で原始関数を計算するわけですが、左辺の積分範囲の上端の x は S の元でなければならないはずです。

ですので、この方法で計算できる原始関数の定義域は S ということになります。

不思議なことに、定義域が S である f の原始関数として得られた関数 F は R 全体でも通用します。

これはなぜなのでしょうか?

例えば、 R(z, w) が2つの文字 z, w の有理式であるとき、

∫ R(cos(x), sin(x)) dx を tan(x/2) = t とおいて、計算することがあります。

このとき、 x = 2*Arctan(t) の値域 S は (-π, π) です。

ですので、原始関数を求めるといっても S 上の原始関数を求めることができるだけのはずです。

ところが、得られた原始関数はそのまま R 全体で通用します。