合成関数の微分公式というのがあり、チェーンルール(chain rule)と呼ばれたりします。そのチェーンルールを僕は次の形で覚えています。
単純でいいでしょ。しかし、この単純な形になることをちゃんと説明するのは意外と大変そうだ、と気付きました。
以下、写像の合成(結合)は反図式順の より図式順の f;g を主に使います。
微分係数:多様体の場合
ある程度一般化したほうがかえって事情が分かりやすいと思うので、なめらかな多様体MとNに対して、なめらかな写像 f:M→N がある状況で考えます。Mの次元が2, Nの次元が3とします。
f(p) = q として、pの周辺の局所座標を(s, t)、qの周辺の局所座標を(x, y, z)とします。さらに、点pの座標が(0, 0)、点qの座標が(0, 0, 0)になるように調整しておきます。写像fを (s, t), (x, y, z) で表した場合の、点pでの微分係数を、非常に古くさい記法で書くと:
これは、x = f1(s, t), y = f2(s, t), z = f3(s, t) のように表現したときの偏微分から作った3行2列の関数行列の s = 0, t = 0 での値です。s, tを動かせば、pの周辺でのfの導関数(の表示)が得られます。
新し目の書き方をするなら、TMとTNを接ベクトルバンドルとして、f:M→N を微分により Tf:TM→TN に持ち上げることができて、次の図式が可換になります。
TM -(Tf)→TN | | | | v v M -(f)→ N
縦の矢印はバンドルの射影です。p∈M を取ると、TpM→TqN (q = f(p))は2次元ベクトル空間から3次元ベクトル空間への線形写像になるので、適当な基底(枠、標構)を取ると3行2列の行列になります。適当な基底を、座標に基いて選んだ場合が先の古典的な記法による表示です。
導関数は接関手から定義できる(逆か?)
f:M→N が多様体のあいだの写像だとすると、それに対して Tf:TM→TN というベクトルバンドルの写像が定義できるわけですが、これは T(f;g) = Tf;Tg と T(idM) = idTM を満たします。つまり、T(-) は関手になっています。
どこからどこへの関手かをハッキリさせるため、Manをなめらかな多様体となめらかな写像の圏として、VectBdlをなめらかなベクトルバンドルとバンドル写像の圏だとします(定義の詳細は省略)。すると、接バンドルを対応させる関手Tは、T:Man→VectBdl として定義できます。
Tはtangentの意味なので接関手(tangent functor)と呼んでいいでしょう。f:M→N に対するTf:TM→TN が導関数(導写像)で、特定の点 p∈M における Tpf:TpM→TqN が点pでの微分係数ということになります。
Tが関手である条件 T(f;g) = T(f);T(g) がチェーンルールです。T関手を「'」で略記するなら、(f;g)' = f';g' となります。
「接関手→導関数→微分係数」じゃ話の流れが逆だろう、って、まー、そうですけどね。しかし、接関手の特徴付けが具体的な構成を経ずに出来たなら、接関手のひとつの表現形式が導関数で、特定の点での導関数の値が微分係数という流れもあるかも(ないかも)。
実際の計算のとき
1変数でスカラー値の関数のチェーンルールだと、
ここで掛け算が入ってきますが、掛け算は1次元線形写像の合成なので、T(f;g) = T(f);T(g) の特殊ケースになっています。しかし、なんだか g'(f(x))f'(x) という形が不格好に見えるし、計算もけっこう間違いやすい。1次元だと色々退化してかえって分かりにくい。
概念的なチェーンルール (f;g)' = f';g' と、具体的に使う形 g'(f(x))f'(x) のギャップはけっこう大きいです。上に示した幾何的イメージ以外に、なんかうまい説明はないものか?