連鎖律

微分法において連鎖律（れんさりつ、英: chain rule）あるいは合成関数の微分公式とは、複数の関数が合成された合成関数を微分するとき、その導関数がそれぞれの導関数の積で与えられるという関係式のこと。 f {\displaystyle f} を開区間 I {\displaystyle I} 上の微分可能な関数、 g {\displaystyle g} を開区間 J {\displaystyle J} 上の微分可能な関数とするとき、 g {\displaystyle g} と f {\displaystyle f} が合成可能（つまり g ( J ) ⊂ I {\displaystyle g(J)\subset I} ）ならば合成関数 f ∘ g {\displaystyle f\circ g} も開区間 J {\displaystyle J} 上で微分可能であり、導関数は関係式 ( f ∘ g ) ′ ( x ) = f ′ ( g ( x ) ) g ′ ( x ) {\displaystyle (f\circ g)'(x)=f'(g(x))g'(x)} を満たす。これを連鎖律という。ライプニッツの記法では d f d x = d f d g ⋅ d g d x {\displaystyle {\frac {df}{dx}}={\frac {df}{dg}}\cdot {\frac {dg}{dx}}} となる。積分法においては、置換積分に対応する。 { y = log ⁡ u u = cos ⁡ x {\displaystyle {\begin{cases}y=\log {u}\\u=\cos {x}\end{cases}}} y = log ⁡ ( cos ⁡ x ) {\displaystyle y=\log({\cos {x}})} を x {\displaystyle x} について微分する。連鎖律より d y d x = d y d u ⋅ d u d x {\displaystyle {\frac {dy}{dx}}={\frac {dy}{du}}\cdot {\frac {du}{dx}}} である。導関数 dy/du および du/dx を求める： d y d u = 1 u {\displaystyle {\frac {dy}{du}}={\frac {1}{u}}\,} d u d x = − sin ⁡ x {\displaystyle {\frac {du}{dx}}=-\sin {x}\,} したがって d y d x = 1 u ⋅ ( − sin ⁡ x ) = − sin ⁡ x u = − sin ⁡ x cos ⁡ x = − tan ⁡ x {\displaystyle {\frac {dy}{dx}}={\frac {1}{u}}\cdot (-\sin {x})=-{\frac {\sin {x}}{u}}=-{\frac {\sin {x}}{\cos {x}}}=-\tan {x}} となる。 微分の定義より ( f ∘ g ) ′ ( a )   = lim x → a ( f ∘ g ) ( x ) − ( f ∘ g ) ( a ) x − a = lim x → a f ( g ( x ) ) − f ( g ( a ) ) x − a = lim x → a [ f ( g ( x ) ) − f ( g ( a ) ) g ( x ) − g ( a ) ⋅ g ( x ) − g ( a ) x − a ] = lim x → a f ( g ( x ) ) − f ( g ( a ) ) g ( x ) − g ( a ) ⋅ lim x → a g ( x ) − g ( a ) x − a = f ′ ( g ( a ) ) ⋅ g ′ ( a ) {\displaystyle {\begin{aligned}(f\circ g)'(a)~&=\lim _{x\rightarrow a}{(f\circ g)(x)-(f\circ g)(a) \over x-a}\\&=\lim _{x\rightarrow a}{f(g(x))-f(g(a)) \over x-a}\\&=\lim _{x\rightarrow a}\left[{f(g(x))-f(g(a)) \over g(x)-g(a)}\cdot {g(x)-g(a) \over x-a}\right]\\&=\lim _{x\rightarrow a}{f(g(x))-f(g(a)) \over g(x)-g(a)}\cdot \lim _{x\rightarrow a}{g(x)-g(a) \over x-a}\\&=f'(g(a))\cdot g'(a)\end{aligned}}} となる。これは一見正しそうに見えるかもしれないが、 a {\displaystyle a} のどれだけ近いところにも g ( x ) = g ( a ) {\displaystyle g(x)=g(a)} となる x {\displaystyle x} が存在する場合（例えば g ( x ) {\displaystyle g(x)} が定数関数の場合）には、0除算が含まれるため、この証明は誤りである。 上の間違った証明を"修正"して正しい証明にするには、例えば次のようにする。 微分の定義より： ( f ∘ g ) ′ ( a ) = lim x → a f ( g ( x ) ) − f ( g ( a ) ) x − a . {\displaystyle (f\circ g)'(a)=\lim _{x\to a}{\frac {f(g(x))-f(g(a))}{x-a}}.} しばらくの間 g(x) は a の近くの任意の x に対して g(a) と等しくないと仮定する。すると上の式は2つの因子の積に等しい： lim x → a f ( g ( x ) ) − f ( g ( a ) ) g ( x ) − g ( a ) ⋅ g ( x ) − g ( a ) x − a . {\displaystyle \lim _{x\to a}{\frac {f(g(x))-f(g(a))}{g(x)-g(a)}}\cdot {\frac {g(x)-g(a)}{x-a}}.} g が a の近くで振動するとき、a にいくら近づいても常に、さらに近い x が存在して g(x) が g(a) に等しいということが起こり得る。例えば、これは g(x) = x2sin(1 / x) に対して点 a = 0 の近くで起こる。これが起こるときにはいつでも、上の式は0による割り算を含むから定義されない。これに対処するためには、次のように関数 Q を導入する： Q ( y ) = { f ( y ) − f ( g ( a ) ) y − g ( a ) , y ≠ g ( a ) , f ′ ( g ( a ) ) , y = g ( a ) . {\displaystyle Q(y)={\begin{cases}{\dfrac {f(y)-f(g(a))}{y-g(a)}},&y\neq g(a),\\f'(g(a)),&y=g(a).\end{cases}}} f ∘ g に対応する差分商は常に次に等しいことをこれから証明する： Q ( g ( x ) ) ⋅ g ( x ) − g ( a ) x − a . {\displaystyle Q(g(x))\cdot {\frac {g(x)-g(a)}{x-a}}.} g(x) が g(a) に等しくないときにはいつでも、g(x) − g(a) という因子は打ち消し合うから明らかである。g(x) が g(a) に等しいときには、f(g(x)) は f(g(a)) に等しいから f ∘ g の微分商は 0 であり、上の積は f′(g(a)) 掛ける 0 に等しいから 0 である。したがって上の積はつねに微分商に等しい。 f ∘ g の a における微分が存在することを示しその値を決定するためには、上の積の x が a に行くときの極限が存在することを示しその値を決定するだけでよい。 これをするために、積の極限はその因子の極限が存在すれば存在することを思い出そう。これが起こるとき、これら 2つの因子の積の極限は因子の極限の積に等しくなる。2つの因子は Q(g(x)) と (g(x) − g(a)) / (x − a) である。後者は g の a における微分商であり、仮定により g は a において微分可能であるので、x が a に向かうときのその極限は存在し g′(a) に等しい。 Q(g(x)) を調べることが残っている。Q は f が定義されているときにはいつでも定義されている。さらに、仮定により f は g(a) において微分可能なので、Q は g(a) において連続である。g は a において微分可能であるから a において連続であり、それゆえ Q ∘ g は a において連続である。したがって x が a に行くときのその極限は存在し、 Q(g(a)) に等しく、それは f′(g(a)) である。 これで両方の因子の極限が存在しそれらはそれぞれ f′(g(a)) と g′(a) に等しいことが示された。したがって f ∘ g の a における微分は存在し f′(g(a))g′(a) に等しい。