関数合成計算機

f(x)、g(x)、x0を入力すると、関数を合成し、順序を比較し、各評価ステップを確認できます。

インタラクティブシミュレーションを読み込んでいます...

順序を入れ替えると答えが変わる、記法だけの違いではない 🖖

合成は可換ではなく、その差は微妙なものではありません。このツールのプリセットの一つ、f(x) = x²g(x) = 2x + 3 を x = 2 で試してみてください。先に g を通すと f(g(2)) = f(7) = 49 です。先に f を通すと g(f(2)) = g(4) = 11 です。同じ 2 つの関数、同じ入力で、答えは 38 も離れます。だからこそ、ここにある入れ替えボタンは推測で済ませず実際に押す価値があります。f∘gg∘f は本当に別の関数であり、a × b は b × a に等しいという普段の規則は持ち込めないのです。

直列につながれた2台の機械 🖖

関数の合成とは、関数を順に続けて適用することです。f(g(x))では、まずxをgに入れ、その答えをfに渡します。部品が工程ごとに形を変え、次の工程へ送られる組立ラインを思い浮かべてください。計算は必ず最も内側の括弧から外側へ進めるので、fより先にg(x0)を求めます。

反復合成に潜むフラクタル 🖖

一つの単純な関数を何度も自分自身と合成すると、代数を離れてカオス理論の世界に入ります。z ↦ z² + c の反復 — 自らの出力を再び受け取る同じ機械 — は、まさにマンデルブロ集合を描く規則です。ある点がこの集合に属するのは、その無限の自己合成が有界にとどまる場合だけ。つまり地味な f(g(x)) ボタンは、無限に細かいフラクタルまであと一歩なのです。

よくある誤解

1つのx値で一致しても、2つの合成関数が等しいことにはなりません。f(g(x)) = g(f(x))が関数として成り立つことを示すには、共通の定義域全体で一致している必要があります。

全プロセスの詳細解説

  1. f(x) = x²とg(x) = 2x + 3の合成 5 ステップ

    f(x) = x²、g(x) = 2x + 3、x₀ = 2 における評価。両方の順序で合成を行い、次にパネルが未解決のまま残している、より難解な問いに決着をつけよ:不一致は x₀ = 2 を選んだことによる偶然なのか、それともこれら 2 つの合成関数はすべての x において不一致となるのだろうか?

    1. 数値的に合成する前に、数式として合成を行う。f∘g では内側の関数が先に計算されるため、x や 3 単独ではなく、式 2x + 3 全体が二乗される。

    2. 順序を逆にすると先に二乗が行われるため、2 倍されて平行移動されるのは x² である。両方の結果とも 2 次式となるが、1 次の項を持つのは一方のみであり、その項こそが不一致のすべてである。

    3. それぞれに x₀ = 2 を代入する。注目すべきは中間値である。一方の順序では 7 が外側の関数に入力され、もう一方の順序では 4 が入力されるため、外側の関数は毎回異なる問いを投げかけられていることになる。パネルはそのすべてを表示している — 入力過程の 7 と 4、出力結果の 49 と 11 である。

    4. 引き算を行うことで、1 点における比較を、あらゆる場所で検証可能な関数へと変換できる。2 におけるその値は 49 − 11 である 38 であり、代数的計算において何も失われていない。

    5. 差の式は x² の係数が正である 2 次式であるため、ゼロになるのは高々 2 回である。そして判別式 36 − 12 は正であるため、実際に 2 回ゼロになる。残されたステップは方程式を解くことだけである。

    解答

    49 に対する 11、差は 38であり、パネルにはそれらとともに中間値として 7 と 4 が表示される。パネルが到達できないより強い結果は、実数直線全体において、これら 2 つの合成関数が一致するのはまさに 2 点 x = −3 ± √6、すなわち −0.5505 と −5.4495 のみであるということである。グラフが描画する −3 から 3 までのウィンドウ内に収まるのは最初の一方のみである。したがって x₀ = 2 は幸運な選択だったわけではない — ほぼすべての x₀ で不一致が生じるのであり、パネルの「等しくない」という判定は、2 つの入力以外のすべてに対して返される回答である。また、それらは接するのではなく交差しており、それを示すのが連鎖律である。差を微分すると 2(2x + 3)·2 − 2·2x = 4x + 12 が得られ、2 つの根におけるその値は +9.798 と −9.798 である — 大きさは等しく符号は反対である。なぜなら、根の間では g∘f の方が高く位置し、グラフウィンドウが始まる x = −3 においてその差は 12 だからである。

  2. f(x) = √xとg(x) = x² − 1の合成関数の定義域 5 ステップ

    f(x) = √x、g(x) = x² − 1、x₀ = 0.5 における評価。一方の順序では数値が返され、もう一方の順序では何も返されない。各合成関数の定義域を求め、さらに 2 つの合成関数が一致するすべての x を見つけよ。

    1. f∘g を中間に沿って追跡し、どこで途切れるかを観察する。0.5 は g への完全に入力可能な値であり、−0.75 は g の完全に出力可能な値である。正しくないのは受け渡しである。−0.75 は平方根をとることができる値ではない。パネルは −0.75 を表示した後、合成関数自体の値として表示する数値を失う。

    2. もう一方の順序はこの受け渡しをクリアする。なぜなら √0.5 = 0.707107 は g への入力可能な値だからである。これら両方の数値はパネル上にあり、どちらの合成関数にも異なる x₀ が与えられたわけではない。

    3. 内側から外側へと順に辿りながら、2 つの定義域を正確に書き下す。f∘g は g の出力が非負であることを要求し、これは x² に対する条件となる。g∘f は x 自体が平方根をとれることのみを要求する。

    4. それぞれの定義域において各合成関数は簡素化され、そのうちの一方は驚くほど単純になる。平方根を二乗すると元に戻るため、g∘f は直線となる。2 つの曲線の関数を合成した結果、曲がりのないものが生成されたのである。

    5. 両方が定義されている領域において、それらが等しくなるのはいつかを考える。両辺の x² が相殺されて残るのは 1 次式であるため、解は高々 1 つである。

    解答

    f(g(0.5)) には値が存在せず、g(f(0.5)) = −0.5 である。これを決定づけた 2 つの中間値として、パネルには −0.75 と 0.707107 が表示されている。ここでは順序の違いが、値を変える前に定義域を変えてしまっており、これは x₀ の選択によって修復できる違いではない。f∘g は |x| ≥ 1 においてのみ存在し、g∘f は x ≥ 0 においてのみ存在するため、これらが共有するのは [1, ∞) だけである。グラフが描画する −3 から 3 までのウィンドウでは、0 の両側 1 単位の区間にわたって f∘g の曲線は完全に欠落しているのに対し、g∘f の直線はまっすぐ伸びている。これらが重複する領域では、x = 1 においてちょうど 1 回交わり、ともに 0 に等しくなった後、すぐに離れていく。x = 3 の時点で、それらの値は √8 = 2.828 と 2 を示す。「合成関数は可換ではない」ということは通常、値に関する主張として教えられる。しかしここでは、そもそもどのような問いを投げかけることができるかについての主張となっているのである。

参考文献 (1)

例題

  • 2次関数の後に1次関数 - x² - 1のあとに2x + 3を適用します。x = 2のとき、一方の順序ではf(3) = 9、逆ではg(7) = 48。同じ二つの関数でも、差は39です。
  • 1次関数の後に2次関数 - 2x + 3のあとにx²を適用します。x = 2のとき、一方の順序ではf(7) = 49、逆ではg(4) = 11となり、差は38です。続く問題では、適用する順序を変えても結果が一致する場合があるかを考えます。
  • サインの後に2乗 - f(g(1))では正弦の値を2乗するので、sin²(1) = 0.7081です。g(f(1))では2乗した値の正弦を求めますが、1² = 1なので、結果はsin(1) = 0.8415です。
  • 定義域の例 - 一方の順序では値そのものが定まらない、唯一の設定例です。g(0.5) = -0.75となり、その平方根は定義されません。一方、逆の順序では-0.5になります。適用する順序によって、答えが存在するかどうかまで変わります。
  • 1点で一致 - x² と恒等関数の合成 — どちらの順序でも x² になる。恒等関数は合成で何も変えない唯一の関数だから