汎関数と合成関数の違いは?


解析力学で、「汎関数」の説明はだいたいの教科書に「関数の関数」とあります。
「関数の関数」と言えば、高校数学で扱った「合成関数」も「関数の関数」と言えるかと思います。

汎関数と合成関数は違うものなのでしょうか?
違うとすれば何が違うのでしょうか?


■ 結論

結論としては、汎関数と合成関数は別物です。

両者の違いはこうです。

・合成関数・・・内側の関数が、ある1つの値を受け取って別の1つの値を生成、出力します。外側の関数はその出力値を受け取って、値を1つ生成して返します。

・汎関数・・・外側の関数が、内側の関数自体(全体)を受け取って、その関数に応じた値を1つ生成して返します。


■ 具体例

● 合成関数 \(f(g(x))\)

\(f(x) = x^2 + 3, \ \ \ \ g(x) = \sin{x}\) とすると、合成関数 \(f(g(x))\) は
$$f(g(x)) = \sin^2{x} + 3$$ となり変数 \(x\) の関数で表されます。

合成関数 \(f(g(x))\) は \(x\) に値を代入して初めて値が得られます。
例えば \(x = \frac{\pi}{2}\) を代入すると、
$$f(g(x)) = \sin^2{\frac{\pi}{2}} + 3 = 4$$ となります。

● 汎関数 \(f[g]\)

例えば
$$f[g] = \int_0^\pi g(x) dx$$ は汎関数です。
右辺の積分を計算をすると変数 \(x\) は消えますので、\(f[g]\) の正体は \(x\) の関数ではありません。\(g(x)\) が決まった時点で、(\(x\) に値を代入することなく)\(f[g]\) の値は決まります。
\(f[g(x)]\) と書くと \(f\) が \(x\) の関数であるかのような誤解を招く恐れがあるので、ここではそうは書いていません。

例えば \(g(x) = \sin(x)\) とすると
$$f[g] = \int_0^\pi \sin{x} dx = 2$$ となります。


合成関数と汎関数では外側の関数の括弧の表記も異なることにご注意ください。
合成関数は \(f(g(x))\) と書くのに対して、汎関数は \(f[g]\) です。


参考:
https://www.physicsforums.com/threads/functional-and-composite-function.754403/

7

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です