微分の概念と諸法則

blog.li.nu >
この記事が役に立ったら
ここでは、通常高校の数学IIと呼ばれる科目でやることになっている、微分の概念と各種法則について紹介します。しかし、多くの教科書のように、いきなり「微分」とかいう計算から始めるとやる気がなくなる恐れがあるだけでなく、今更記事を作る意味も存在しないため、ここではその典型的な応用例を通して理解を試みます。
 まずは、微分をいきなり導入するのではなく、「ルートの求め方」について考えます。その上で、ルートを求めるためには方程式の解を求める手法である「ニュートン法」という方法があることを紹介し、またその原理を図的に理解した上で、その手法において「接線」というものが必要であることを紹介します。さらに、接線を求める方法について検討する過程で、自然に微分を導入していき、最終的には微分の各種法則についても検討します。

ルートを求めるには

 電卓をたたけば当たり前のようにルート2は1.41421・・・と表示されますが、そもそもどういう原理でそれが可能でしょうか。ルート2を表示しているのは、別にコンピュータがルート2のことを1.41421・・・という値として記憶しているわけではなく、何らかの命令を通してこの値を算出しているのです。そうでなければ、素数などいくらでもあるのでルートもいくらでも存在し、コンピュータがとうてい覚えられるものでもありません。それに、そうなるとそれを打ち込むのは人間なのでとてもやっていられません。もちろん、いろいろなプログラミング言語を使えばルートを一発で作る命令は用意されていますが、それも何らかの計算を組み合わせたものが提供されているにすぎず、結局、電卓を含む、コンピュータにできることは本来四則演算を組み合わせることだけのはずなので、四則演算だけを使うことでどうにかそういう値を求められる方法を検討する必要があります。
 ここで一つ注目しておきたいのが、コンピュータに「方程式を解かせる」ことは可能だということです。なぜなら、 (左辺) = (右辺) という形になっているので、左辺と右辺に適当な値を代入して、それが一致していれば答えになることが判断できるからです。考えるのは少しばからしい例ですが、「x=2」があったとするなら、右は2です。左のxに1やら0を代入しても、2にはなりませんが、2を入れれば当然右の2と一致します。ということは、それが答えというわけです。以上から、なんとか四則演算に値の比較を交えればコンピュータでも方程式を解くことは可能ということが理解できます。
 ということは、ルート2を求めたければ、ルート2が答えになるような方程式を作り、四則演算の繰り返しで確実に答えになるような方法を編み出せばいいということになります。
 ルート2というのは、「2回かけたら2になる数」という意味です。ルート3なら「2回かけたら3になる数」です。結局ルート○○というのは、「2回かけて○○になる数」という意味なのです。そうであれば、「ルート○○×ルート○○ = ○○」が成り立たなければなりません。というより、これこそがルートの定義です。これを方程式にするのであれば、ルート○○がいくつかを知りたいので、これを x とでもして「xの2乗 = ○○」とすればよいですね。この答えを我々は綺麗に表示する方法がないために、わざわざルートという記号を導入して、ルート2と書いているわけです。
 以上より、ルート2を求めるには
$$x^2=2$$
という方程式を解けばよいということになります。あとは、x に1だとか1.1など色々入れて、右辺と左辺が一致すればそれが答えです。
 その前に、少しだけ形を変えましょう。具体的には、「(式) = 0」となるように変形します。この場合は、右の2を左に持ってくればよいだけで
$$x^2-2=0$$
です。このようにすれば、左辺の x に適当な値を入れて、それが0になるかで答えが判断できます。より簡単です。

ニュートン法の原理

 あとは、どのようにして左辺が確実に0に近づくように x を定めていくかについてです。この近づけ方はいくつか方法が考えられていますが、中でも特に効率がよいのがニュートン法と呼ばれている手法です。名前だけで難しそうだと思う人がいるかもしれませんが、ニュートン法というのは至って簡単な手法です。確かに式に起こして議論するなら一般的な小学生では理解できないでしょうが、図形的にそれを実践するのは小学生でも余裕でできます。
 まずは、状況を図で整理しましょう。ある方程式があって、その答えを知りたいとします。ちょうど上のように、項を移動した結果 f(x) = 0 という形式になっています。今回はxの2乗-2ですが、別にここは何であっても同様です。
1.jpg
そもそもなぜこの図が描けるかというのを思い出しましょう。いま、適当な方程式
4.jpg
があるとします。これは、見方を変えると
5.jpg
という2つのグラフがあって、その y をつないだものと見ることもできます。 y をつないだということは、2つのグラフの y 座標は同じであることを意味します。その上で、この方程式の答えがその点の x 座標ということになるのです。ここで y = 0 とはもちろん x 軸のことを意味します。したがって、上の方程式
4.jpg
は、「任意の関数が x 軸を横切る点の x 座標を求める」ということを意味します。そのため、このような図が描けるのです。
 実際の近づけ方です。まず、x 軸上に適当な点を取ります。言い換えれば、「だいたい正解はこのくらいだろう」と思われる適当な場所を指定します。
6.jpg
この場所は x0 としましょう。そうすると、関数上の点も同時に y0 = f(x0) であることがわかります。f(x0) というのは、「関数の x となっている部分に x0 を代入したもの」という意味です。たとえば、 f(x) = x で、x0 = 2 だとしたら、f(x0) というのは、f(x) の x になっている場所が x0 の値、つまり2になるので f(x0) = f(2) = 2 ということになります。
 次に、この関数上の点 (x0, y0) を通る接線を引きます。そして、接線が x 軸と交わる点を次の推定値 x1 とおきます。
7.jpg
これが現在の図です。まだ答えではありませんが、確実に答えに近づいたことがわかります。
 次にやることも全く同じです。今度は (x1, f(x1))を通る接線を作り、またその接線と x 軸との交点を次の x2 とするのです。
8.jpg
見てください。さっきよりもさらに答えに近づきました。もう一回だけ同じことをしてみましょう。
9.jpg
答えに近づきすぎたため、もはや拡大しなければこれ以上続行することはできなくなってしまいました。この手順を繰り返し行うと、いくらでも答えに近い値にすることができます。もちろん正解が正確にいくつか知ることも重要でしょうが、実用上は小数点の下は数桁程度で十分な場合がほとんどです。そう考えれば、この正解への近づき具合の早さから見るに、この手順を無限、それどころか何十、何百回もやらなくても、実用レベルのルートの値は何回か実行するだけで得られるのではないかという予測も立つでしょう。これがニュートン法の原理です。
 
 さて、図で語るのは簡単でしたし、確かに答えに近づけるのは直感で理解できましたが、図で書いただけでは数字が分かりません。結局はこれを数式として書き起こす必要があります。そして、一つだけ、義務教育では習っていない用語が登場したことに気づいたことでしょう。それが接線です。確かに、2次関数の接線など、求め方を習った覚えはありません。
 接線といえども、結局は直線です。直線は切片と傾きさえあれば引くことができます。前置きが長かったですが、今回紹介する微分は何をするための道具かというと、この接線の傾きを求めるための計算をする道具なのです。このように紹介すると、何か全く新しいものが登場して怖いと思うかもしれません、しかし、これもおそらく気づく人は少なかったでしょうが、この微分というのは全く新しいものではなく、中学の時に2次関数のところで習ったある概念の延長線上にすぎないものです。

直線の切片と傾き

 ここからは理論編といったところですが、手始めに直線について簡単に思い出します。
 学年が上がると色々なグラフを習っていきますが、一番基本的なものは直線です。教科書は難しい名前を付けるのが好きらしく、これには一次関数という名前がついています。
20.jpg
直線は y=ax+b と書けば表現できます。このときの b は切片と呼ばれていて、原点からどれだけ直線が浮いているかの意味です。 a は傾きと呼ばれていて、その直線が右方向に1進むと上方向にどれだけ大きくなるかを意味している値です。
 例えば、y=2x-6 なら、切片はマイナス6になります。ということは原点では下に6つ沈んだ場所にあります。そして、右方向に1進むと上方向に2ずつ上昇していきます。ということは、右方向に3つ進めば上方向に合計6つ上昇するので、ここで初めてx軸と横切ることがわかります。
21.jpg
こういう感じです。傾きがマイナスなら逆に下に下がりますし、切片がプラスならこれもまた図と逆で原点で直線が下方向に沈んでいるのではなく上方向に浮いています。まずは「一次関数」とかいうものをこのように見ることが重要です。y=2x-6 の例で続けますが、当然傾きが2というのは右に1つ進むと上に2つ上がるということを意味するので、逆に左に1進めば下に2下がることになります。だから、xが0の時、y座標は切片と同じ-6ですが、反対方向に1進むとx座標マイナス1でy座標はさらに2下がり、マイナス8になります。そして、右方向に2つ進めば傾きはその2倍の4つ上に上がることになりますし、半分の1/2しか進まなければ傾きの半分である1しか上に上がらないことになります。
 ここで注目すべきなのが、傾きがこの場合 "2" という一定値だということです。つまり、どこの点からスタートしても、右へ1進めば上に2上昇します。傾きというものをリアルな坂道だと捉えて下さい。直線というのは勾配が一定の斜面のことです。

平均変化率の概念

 しかし、これが2次関数だとどうでしょう。例えば x2-2 という関数だったとします。単に y=x2 のあのおなじみの曲線が、全体的に下方向に2沈んだだけのことなので書くのは簡単です。
23.jpg
 これがリアルな坂道だと思って下さい。x=0の場所がスタート地点とします。ここは緩やかでむしろさっきの直線より昇りやすそうですが、段々右へ進んで行くにつれて明らかに傾きが厳しくなっていることが分かります。右端当たりまでいくとSASUKEの仕掛けにしか見えないほど急です。ここで学べる教訓は1つです。直線と違い、曲線は傾きが場所によって違っています
 と、いうことは、「曲線の傾き」というものは直線のように「a=2だから2」などと一言で表現できるようなものではありません。逆に直線が非常に特殊で簡単な例だったのです。曲線の場合、場所によって傾きは1かもしれないし、100や-99999かもしれません。
 そこで重要になってくるのが、「その場所ではどれくらい坂道がきついのか」という目安です。要するに、無理矢理曲線を直線に見立てて、傾きを計算させるのです。例えば
24.jpg
どこでもいいですがこのように x=2 の時を見ます。このときのy座標は、関数 x2-2 の x に 2 を入れればいいので f(2)=2 です。やはり前回に引き続き縦横の尺がおかしく見えますがこれは気にしないでください。このときどれくらい傾いているかを知りたければ、この点とちょっとだけ進んだところにある点を結んだ直線の傾きを求めればよいのです。1点で直線は引けませんが(厳密に言えば無数にあるので1つに定まらないのですが)2点あれば直線が引けます。ということは傾きが分かります。 図的には完全にバランス崩壊していますがイメージの話で数字はどうでもいいので引き続き気にしないことにします。ここでは、1つ右にいったx=3をとってみました。このとき f(3)=32-2 = 7 が分かります。つまり、今居る点P(2,2)の傾き具合を知るために適当に横に取ったQ(3,7)の2点を結ぶ直線を引けば、完全に同じではないがその点の傾きが分かるのではないかということです。
 2点が定まっている時の傾きの決定方法は学校で習うかもしれませんが次の通りです。まず左の点から見て右にxがいくつ移動しているかを見ます。この場合1移動しています。そしてyは、5つ上に上昇しました。ということは、xが1増えた時にはyは5上昇するような直線ということになります。それはこの直線の傾きが5であることに他なりません。したがって、今いる点Pの傾きは「だいたい5くらいかもしれない」というのが分かりました。このときの5という傾きが、平均変化率または変化の割合とかいう難しい名前で呼ばれている数値のことです。要するに平均変化率とは「曲線は場所によって傾きが違うから、知りたい点とは違うもう1つの点を取ってその直線の傾きをその場所の大体の傾きということにしました」という意味です。

微分の概念

 平均変化率にも問題があります。それはもちろん、正確にはその点の傾きではないということです。では一体どうすればその点の傾きになるでしょうか。答えは簡単です。幅を0に近づければいいのです。上のように誤差ができているのは、幅を広く取り過ぎてしまったからです。見ての通り、右に行けば行くほど傾きの具合は大きくなっていくのですから、x=2の求めたい場所より右方向に幅を取り過ぎれば、本当の傾きよりも傾いた値が出てしまうのは当然です。
 これも実際に書いてみると分かりますが、最初はx=2ともうひとつの点としてx=3を取りました。この幅をどんどん狭めていくと、どうもx=2における接線になるらしいことが分かってきます。
26.jpg
これは幅をある程度縮めたときの直線です。この調子で狭めていけば最終的に接線になることが分かると思います。つまりその点の傾き具合というのはその点の接線の傾きです。
 ここで問題なのが、どうやって幅を0にするかということです。直線は点が2つなければ1つに定まりません。いくら幅を0に縮めようとしても、必ず目的の点からわずかに離れた場所にもう1点打たなければならないのです。
 この議論をもう少し具体的にできるよう、式にしてみましょう。上の図だとx=2の隣に打った点のことを「2からわずかに進んだ点」と表現しましたが、これでは式に書けません。この「わずかに進んだ幅」のことを適当な文字で「h」と表現します(Δx などという書き方もあり、通常は私もそう書きますが、ここでは紛らわしいのでやめておきます)。すると、その「2からわずかに進んだ点」のx座標は、
27.jpg
と表現できます。さっきは、幅が1だったのでhは1だったわけです。もちろんいきなり0にしてしまえば、始点と終点が同化し、2つの点ではなくなってしまうため直線が引けず、困ってしまいます。したがって、このhは0.1、0.001、0.00001・・・のように「0に近づけていく」(縮めていく)ことが理想です。幅をとりあえずhとしておいて、その時の傾きを求めたのち、hをどんどん小さくしたらどうなるか見てみます。このわずかに進んだ点のy座標は、関数 x2-2 の x に、2+h を入れればいいだけなので
28.jpg
ということがわかります。
29.jpg
今はこういう状況です。3が2+hという表現に変わっただけでまだ何も起こっていません。この直線PQの傾きですが、もちろんx座標は幅hだけ増えたので右にh進んでいます。一方上方向にはどれだけ進んだかですが、そのまま「高い方から低い方」の座標を引けば長さが分かるので
30.jpg
です。これで、xがhだけ増える間にyは上の分量だけ増えていることが分かりました。「xが1増えるとyがいくつ増えるか」という傾きに直すには、yの増えた量をxの増えた量で割ればよいので、
31.jpg
ということがわかりました。あとは、hを0にしたいのですが、そのままでは0に持って行けません。なぜならここでhを0にしてしまうと、分母が0になるからです。
 0で割ることは算数では禁止されていて、その値がどうなるかは考えてはいけないことになっています。確かに、1/3、1/2、1/1、1/0.5、1/0.1・・・などと分母を小さくしていく状況を考えてみれば、段々値が大きくなっていくのは理解できますが、際限なく大きくなりそうな気がします。そして結局いくつになるかは分からず不気味です。要するに算数をやる上で0で割ってもその値は何の意味もなしません。このように、hを0にしたらどうなるかという議論をしたとき、分母が0になってしまうような形の分数を不定形と呼びます。
 そこで細工をします。上の式には2乗のかっこがありますが、これを変形などすることで、もしかしたらhを0にしても値がいくつになるか計算できる形にすることができるのではないかということです。このような形に持っていく行為は不定形の解消と呼ばれています。実際に展開して計算しましょう。
32.jpg
なんとも不思議なことに、分子の計算をしたら分母は約分でき、これでhを0にしても問題ない状態に持っていくことができました。この状態でhを0にすれば、もちろん値は4です。つまり、本当のx=2の時の傾き(接線の傾き)は4だったのです。幅h=1とすると、当然ながらさっき求めた傾き5が得られます。
 
 簡単に言えば、上記の手順を一般的にしたものが微分です。上で見てきたように、微分するとはどういうことかというと   ということをやっているだけなのです。
 確かにこれを実践すればその点の傾き具合、言い換えるとその点における接線の傾きは分かるようになりましたが、手順が面倒すぎます。そこでこの計算を全部やらなくてもいいような法則性はないのか、という話になってきますが、そこで初めて出てくるのが、おそらく微分について断片的に覚えているとしたら、真っ先に出てくるであろう「肩の数字を下ろす」という法則なのです。

定数の微分

 ここまでくると、いろんな関数に適用して法則を見つけ、楽したいというのが人情です。そして定数、一次関数、二次関数、三次関数・・・といった簡単な関数でその法則性を探っているのが数学IIの内容です。数学IIIの微分は指数関数や対数関数、三角関数で上の手順をやるとどうなるか試しているだけで別に何も専門的な内容ではありません。
 最初に定数を微分するとどうなるか試します。一般の場合で f(x)=a です。これはもはや定数なので x 座標ががどうであろうが関数は a という一定の値を取るということを意味します。要するに x 軸に平行な直線です。これは考えるまでもなく 0 になります。というのは、水平なので全く縦方向に増えていないからです。全く増えない平らだということは、全く傾いていないことを意味し、傾きはどこでも 0 です。したがって定数を微分すると 0 になります。

一次関数の微分

 x=2の場合の接線の傾きに限らず、一般の場合で見ていきましょう。例えば直線 f(x) = ax+b の場合です。任意の点P(x座標は任意のx)を取ったとしますが、そこからわずかにhだけ離れた点Qも取ります。点Pのx座標はx(任意の値という意味)、点Qのx座標はx+hです。
33.jpg
このようになっています。xの増加量は増えた分をhと言ったのでh、yの増加量は上の値から下の値を引けば良いのでf(x+h)-f(x)です。
34.jpg
これで準備が出来ました。上の式をxの増加量hで割ればよいので
35.jpg
ということになります。hを0にするまでもなく、hが自ら消えました。つまりこれは、xの値が具体的にいくつだとも決めなかったので、直線はどこにいても傾きがaで一定だということを示しています。
 したがって、「f(x)=ax+b を微分すると a」ということがわかりました。この微分したときの関数のことは導関数と呼ばれていて、この場合、ax+b の導関数は a です。導関数を意味する書き方は複数あり、
36.jpg
どちらもよくある書き方です。左はf(x)の間に 「' (プライムと読む)」が入っています。これが導関数の印です。右は「xをわずかに進めたときの値でyの増加量を割り算して、わずかにすすめた量を0に持っていくといくつになるか」という意味合いから来ている記号で、分数のように見えます。実際微分は「yの増加量/xの増加量」という分数になっていることからもわかるように分数のような公式がいくつか存在します。右側はあるいは df(x)/dx とか書くこともあります。変数が x で明らかであれば (x) を省略して f', df'/dx などもよく使われますが、結局全部同じ意味です。ここでは f'(x) と書くことにします。
 ここでもう一つ注目する点が、切片 b も消えているという点です。よく考えると、微分というのはその点でどれくらい傾いているかを表すものでした。別にその坂道が高度0mに存在しても、高度100mに存在しても、傾き具合は変わるはずがないし、恐怖感はさておきその坂を上るのに必要な苦労の度合いは同じはずです。要するに、微分したい関数に定数がくっついているとそれは消えます
 ここまでで微分について分かったことは2つあります。   ということです。実際にニュートン法を使ってルート2を求めるには、もちろん f(x) = x2 -2 なので、二次関数の接線が必要です。

極限記号の導入

 あとはxの肩の数字を2,3,4・・・・と上げて検証すればいいだけですが、その前に記号で議論ができるよう、1つの新しい記号を導入します。
 微分の手順について改めて箇条書きにすると   ということでした。既に数度実践したように、hはいきなり0にすることはできません。もちろん、いきなりhを0にすると、ゼロ除算になってしまうからです。しかしながら、この前置きをいちいち文字で書いていては長くて面倒です。そこで、上の4手順をすべてひとまとめに式にしたものを
37.jpg
と書くことにします。「このままではhを0にできないので、式を整理してゼロ除算を回避してからhを0にする」というのを、左にくっつけた lim (右にくっついている式の極限を取るの意味) 「h→0」(その式のうち、どの文字を何の値に最終的には持って行きたいのかの意味) というもので代表しているのです。これは極限記号と呼ばれています。
 そもそも、「0に近づける」とか、ある値を直接代入しないで、「限りなく近づけていく」ことを極限をとると呼んでいます。見ての通り、直接代入できるのであれば直接代入すればいいだけのことであって、主に直接するとゼロ除算など無効な計算になってしまうが、どうしてもその値にしたい(したらどうなるのか)という時に使われる記号です。もっと簡単に言うと、「今すぐlimの下に書いてある値を代入したいが、今すぐやるとまずいので後からお願い」ということを言っているだけの記号で、こういう言い方をすると分かると思いますがただの時間稼ぎです。こういう変な記号を見た瞬間拒否反応を示す人もいるのではないかと思いますが、こういう記号は話を難しくしたいから導入されたわけではなく、その正反対でスペース節約して楽したいから導入された記号なのです。したがってまったく高級な記号ではありません。極限という言い方が難しくて嫌いな場合は時間稼ぎ記号とでも呼んでください。
 結局、上の式で言っていることは、「本当は h → 0 (hを0に近づける) というのをやりたいが、今すぐ 0 にすることは分母の 0 のせいでできないので、右の分数をうまく分母 0 でない形に整理してから 0 にしてくださいね」というのをいちいち言葉で説明するとスペースがないので記号にしただけのことです。
 以上から、任意の関数 f(x) の導関数は、数式で
38.jpg
と書けることが理解できます。右の分数はもちろん平均変化率で、平均変化率の幅hを縮めたいがすぐにはh=0にできないため、時間稼ぎした後でhを0にしてみる、ということを一行で綺麗に説明できています。

微分の諸法則 [1] - 和の微分法則

 記号はこれくらいで十分そろいました。寄り道っぽくなってしまいますが、あとは、xの2乗、3乗・・・を見る前に、今後の大きな武器となるであろういくつかの法則を検討します。1つめが和の法則です。具体的には、ある関数 f(x) と別の関数 g(x) があるとき、その足し算
39.jpg
を微分すると、
40.jpg
になるという法則です。まとめると、
41.jpg
ということですね。そもそも関数と関数の足し算など使い道があるのかと思うかもしれませんが、先ほどまさにこれをやりました。というのは、一次関数 ax+b ですが、左の項 ax を f(x)、右の項 b を g(x) とすれば、まさに f(x)+g(x) = ax+b になっています。このように、関数を複数の項に分割できる時は、わざわざ全体として難しく考えなくてもそれぞれの項だけ微分すればいいということを言っているのがこの法則のポイントです。
 
 では、実際に成立していることを確かめます。f(x)とg(x)をまとめて新しい関数 S(x) とでもおきましょう。
42.jpg
です。S'(x)が知りたいわけですが、結局このように f(x) と g(x) の和そのものを一つの関数として見てしまえば、微分の定義にあてはめるだけですぐ確認できることです。
43.jpg
結局、こう見えるだけなので、前の項で書いた f'(x) の定義式の中の f(x) が S(x) に置き換わるだけですね(上の図の関数の形は適当です)。
 もう一度、同じことを念のためやりますが、図を見て分かるとおり、増加量というのは「進んでいる方」から「進んでいない方」を引けばよいので、x(右方向)の増加量は
 
 (進んでいる方右側) - (進んでいないほう左側) = (x+h) - h = h
 
y(上方向)の増加量は
 
 (進んでいる方向上側) - (進んでいないほう下側) = S(x+h) - S(x) 
 
とすればいいだけなのが分かります。この直線PQの傾きを求めるには、xが1増えるとyがいくつ増えるかを求めればよいので、yの増加量をxの増加量で割ればよくて
44.jpg
です。結局やっていることが一緒なので出てくる式の形も全く一緒です。あとは幅hを0に近づければいいのですが、相変わらずすぐに代入するとゼロ除算形式になるので
45.jpg
と表記しておきます。これが f'(x)+g'(x) になることを示せばいいですね。よく考えると S(x) は f(x) と g(x) の足し算だったので
42.jpg
を代入して
46.jpg
まで分かります。少しずるい気もしますが、答えありきで考えるなら、ここから f(x) に関係する部分、g(x) に関係する部分に分けて
47.jpg
となっているのが分かります。明らかに1つめの項はf(x)の平均変化率、2つめの項はg(x)の平均変化率です。ここで極限記号の1つの性質ということになりますが、足し算になっているものの極限はそれぞれの項の極限に分離できます。つまり、上の式は
48.jpg
と書くことができます。右の項も左の項も足し算なので、それぞれは独立した項になっています。なので、両方の項の不定形を同時に解消した後でhを0にしなくても、別に左だけ単独で不定形を解消してhを0にして、右で同様のことをし、それらを足したとしても同じことになります。以上から、
49.jpg
が分かりました。S(x) とは
42.jpg
だったので、結局
41.jpg
が示せたことになります。

微分の諸法則 [2] - スカラー倍の微分法則

 もう1つ楽するために絶対知っておくと得する法則があります。それがスカラー倍の法則です。これは名前負けしていて、単に適当な定数 a があるとき、
50.jpg
を微分すると
51.jpg
になるという法則で、直感的なものです。そもそも何に役に立つのかということですが、たとえば、 「3x3」という関数を微分したいとしましょう。 そうすると、あの導関数の定義にあてはめると常に係数の3がついてまわって計算が面倒です。なので、「x3」の変数の部分だけ微分して、最後に係数の3をかければそれでいいですというのがこの法則の真意です。結局和の微分と同じで楽するための重要な道具です。
 これも同じように示してみましょう。ただ、これは定義にあてはめればすぐ分かるので示すとかいうほどのことでもありません。例によってわかりやすくするため上の塊を S(x) とでもすると今度は
52.jpg
ですね。そしてその導関数はやはり
45.jpg
と書けます。あとは戻すだけです。
53.jpg
 このように簡単な法則でも確認するようにしておくと、後に捗ります。ここで当たり前のように定数倍aを極限記号の外に出しましたが、これはそもそも極限記号で操作対象にしているhに全く絡んでいないのでこのように外に出しても問題がないのです。もちろんhは操作に絡んでいるのでhをlimの前に出すなどという謎の行為に及んではいけません。
 以上から
51.jpg
が示されます。
 
 よく初めての人は間違えやすいのですが、これは定数だからできることであって、変数は分離できません。つまり、 xの二乗の微分は、(x)' × (x)' ではありません。変数(ここでは微分対象の「x」のこと)をかけ算方式でこのように分離した場合は、少し違う法則に従います。これも微分の計算では常連なので次に紹介します。
 ちなみに、この和の法則とスカラー倍の法則を満たす計算は線形性があるといって、この法則があると非常に有り難がられます。統一的にどんなパターンでも適用でき、今まで見てきたように「公式」などという便利なものがどんどん作り出せているのはこの線形性という名前の一種の秩序があるおかげです。

微分の諸法則 [3] - 積の微分法則

定数倍なら分離してから微分していいことがわかりましたが、変数×変数になっていたらあの面倒な分数を一から計算しないといけないのでしょうか。実は違います。変数×変数は一般に積の微分法則と呼ばれている重要な法則があります。
54.jpg
これがその法則です。先ほどの和の法則、スカラー倍の法則と並び、この3兄弟は理解した上で覚えることが絶対に必要です。数学は暗記じゃないとは言いますが、2乗の展開の公式や因数分解の公式を暗記していなければ全く計算が進まず支障が出るのと同じでこれも覚えないと今後の微分の取り扱いに時間がかかりすぎて支障が出ます。この3つを覚えると、xの2乗から後は全くあの分数を当てはめなくても結果がわかるようになるほか、今後複雑な関数を計算するときにも常に役に立つのです。
 これも規則的で面白そうな見た目の法則だと思いますが、成り立つことを微分の定義にあてはめて確認します。この手の計算はこつが分からないと楽しくなく、そのコツ(なぜそんな変形を行ったかなど)はいろいろ分かっていないと言葉では説明しづらいのは確かです。わからなかったら理解は後からついてくるはずなので別に結果だけ覚えてもいいです。とにかく結果は覚えてください。
 これを確かめることは、これまでと全く一緒で適当に
55.jpg
とします。
45.jpg
を求めればいいわけですので、早速 S(x) を戻します。
56.jpg
S(x+h)というのは「S(x)という関数に x+h を入れた時の値」、つまり、単に x を x+h に書き換えればいいだけなのです。したがって S(x+h) = f(x+h)g(x+h) です。 S(3) なら S(3) = f(3)g(3) だし S(a+b)なら S(a+b)=f(a+b)g(a+b) の意味です。
 要するにこれを2つの項に分離して、片方はf'(x)g(x)、もう片方をf(x)g'(x)に持って行きたいのです。そこで一つ次のような細工をします。
57.jpg
ここで怖じ気づく必要はありません。なぜそのような発想に至るかは非常に説明しづらく、いくつか数をこなすと感覚的に分かるようになるレベルのことなのであまり気にせず進めます。この「式を有利に変形するためにある項を勝手に出現させ、埋め合わせとしてそのマイナス項を隣に付け足す」というのはよく使われる手法なのでそういう手法があるとだけ知っておけばよいでしょう。要するに、「あとこの項があればうまくいくのに・・・」という項があったら、勝手に出現させます。そしてもちろん勝手に足しっぱなしでは元の式と同じにならないので、隣にその項にマイナスをつけた「埋め合わせ」を用意します。そして埋め合わせじゃない方を使ってうまく式をつなげて、計算を進めていくということです。
 この場合、なぜこのように出現させると有利に進められるかは続きを見ていけば理解できます。ここで、次のように分離してやります。
58.jpg
一番目の f(x+h)g(x+h) と三番目の -f(x)g(x+h) を g(x+h) で因数分解して分離したのが左、二番目の f(x)g(x+h) と四番目の -f(x)g(x) を f(x) で因数分解して分離したのが右です。見ての通り、左はこのままhを0に近づける作業をすればf(x)の微分に、右はg(x)の微分になります。
 簡単なのは右の項です。右の項はこのまま h を 0 に近づける作業をすればそのまま f(x)g'(x) に一致することが分かるでしょう。左の項ですが、これは少し考えないといけません。よく考えるとこの微分の定義ともいえる変な分数は何をやっているかというと、h をそのまま 0 にしたら分母が 0 になるので、うまく分子を計算して分母が消えるようになってから h を 0 にしようという意味でした。この分数でそれをやった結果を微分と呼んでいるのです。
 そしてもう少し考えてみると、f(x)の微分になるようくくったこの項にくっついている g(x+h) は、別に今の段階で h を 0 にしても何の問題もありません。そもそも後から h を 0 にするというのは、今すぐに h を 0 にしたいのに分母に h がいるからできなかったというのが理由です。分離した結果である右の g(x+h) には分母がない、つまり 0 にしてはまずい h もいないので、今すぐ 0 にして、それから 0 になってはまずい残りの部分を計算した後でそっちの h を 0 にするというやり方でも問題ないはずなのです。
 つまり、簡単な例で言えば (p+1)(p+2) というのがあって、この p を 0 にしたいとき、別に「(p+1)の p を 0 にしたもの」(=1)と「(p+2) の p を 0 にしたもの」(=2)をそれぞれ求めて、そのかけ算(1×2=2)を「(p+1)(p+2) の p を 0 にしたもの」(0+1)(0+2)=2 といっても同じではないかということです。実際これは正しいことを言っています。したがってここでは右の g(x+h) は先に 0 にしても問題がないということを結論にします。ただし「はず」と書いたように、これは厳密な証明ではありません。このことを厳密に証明するにはこの「わずかな幅」とか「0に近づける」とかいう数学らしからぬあいまいな用語をもっと厳密に定義する必要があります。しかしながら、その段階まで掘り下げると完全に脱線し、しかも初めてだと哲学をやっているかのような気分になると思われるのでここでは直感が正しいということにしておきます。
 
 以上から、左の項は g(x+h) だけ分母に 0 にしてはいけない h がいないので先に 0 にできます。
59.jpg
あとは、このまま分子を整理してから h を 0 に近づけるという計算を行えば、左の項は f'(x) の微分に g(x) がかかったもの、右の項は g(x) の微分に f(x) がかかったものとみることができるので、
54.jpg
が成立します。究極的にはこの結果だけ知っておけば十分です。

冪関数の微分法則

ここからが本題です。 x の2乗、3乗・・・となると、x+h の 2乗、3乗・・・が出てくるということであり、あまりにも面倒でやる気が起きません。そこで、2乗以降はこれまでの法則を使って楽しましょう。
60.jpg
これの微分ですが、 xの2乗は xかけるx と書けることに注目してください。つまり、これを微分するというのは、あの面倒な分数を計算してもいいのですが、
61.jpg
を計算してもよいということになります。「・」は「×」と同じ意味です。かけ算は後先関係ないのでこれは結局
62.jpg
ということが分かります。要するに、あの変な分数を頑張らなくても、xの微分がいくつかさえ分かればいいということになります。あとはそれに2xをかけるだけです。しかも、これはすでに知っています。既にあの分数で計算した結果、y=ax+b という一次関数を微分すると y' = a になることがわかっているからです。一次関数の切片がなく b=0 で、傾きが a=1 のときはこの一次関数はy=xと等しくなります。y'=a=1 ということになるため、xを微分すると1というのが理解できます。(x)' = 1 を使うことで、x2 の微分は
63.jpg
であることがわかりました。
 次に 3 乗だったらどうなるか確かめましょう。(x)' と (x2)' なら結果が分かっていて、それぞれ 1 と 2x です。またまた積の法則にあてはめることであの変な分数を使わなくても計算ができてしまいます。
64.jpg
そろそろ何か法則があることに気づくかもしれません。4乗をやればほぼ確実に気づくでしょう。
65.jpg
このように、x の n 乗を微分したものは、右上の方の数字が1下がり、そして下がる前の数字が前に出てきます。証明はこのまま永遠に続ければ成立することが明らかです(厳密にはこういう場合帰納法というのを使いますが、省略します)。
 結局、n が自然数(1,2,3,4,5・・・)の場合には
66.jpg
が示されました。実際には n が自然数でないどころか分数や小数、負の数でもこの法則が成り立ちます。ただそれをやり出すと1/2乗とか0.3乗とかマイナス8乗とかいうのはそもそもどんな関数なのかという議論になってきて違う単元の話題が始まるためここでは自然数の時だけの議論にします。

接線の方程式

 いよいよ核心に迫ってきます。
 接線の傾きはどんな関数でもいいので関数 f(x) を微分した導関数 f'(x) を求めれば、任意の点の傾きとして使えるのでした。つまり、接線の「傾き」を求める方法は既に知っていることになります。ではもう1つの「切片」はどう決めるのでしょうか。
67.jpg
これが図です。適当な x=a における接線を求めたいとします。x=aにおける接線の傾きはf'(a) でただちに求まります。したがって接線の方程式は
68.jpg
まで簡単に分かりました。f'(a)というのは「f(x)を微分したもの f'(x) の x に a を代入した時の値」という意味でただの係数です。たとえば y=f(x)=xの2乗 なら、 f'(x)=2x ですが、x=2の時の接線の傾きを知りたいなら f'(2)=4 ということで傾き4です。このとき接線の方程式は y=4x+b というところまで分かった、という話です。
 切片は、そもそも傾きとは何かということを考えれば分かります。もう元の関数はいらないので問題に集中できるよう図を
69.jpg
としましょう。このときどうやったら切片 b を確定できるでしょう。それはこう考えます。直線の「傾き」とは右方向(x方向)に1進んだ時、上方向(y方向)に直線がいくつ進むかという意味でした。それならば、xがaだけ進めば、yは傾きのa倍だけ進むはずです。したがって、傾きはf'(a) なので、このa倍だけ進みます。よってx=0の時切片bをとりますが、x=aの地点では a・f'(a) だけ上に値が増えているはずです。
70.jpg
こういう感じです。スタート地点(x=0)の浮きは b だったので、x=aの場所では af'(a) だけ増えたことがわかります。したがって、x=a での y 座標は、増加量 af'(a) に最初の浮きを足して
71.jpg
でなければなりません。そして、この点のy座標は関数に直接値を代入することですでに f(a) と分かっているので、これが f(a) と一致しなければならないことから
72.jpg
となります。これより、b について解けば、切片が
73.jpg
と定まります。したがって、x=aにおける関数f(x)の接線は 
74.jpg
であることがわかりました。以上から、コンピュータに f(x) と f'(x) さえ与えてやれば、この式に従って接線を作ることで、ニュートン法が実行できるということになります。
 f'(a) は接線の傾きですから問題ないでしょう。右についている f(a)-af'(a) という切片ですが、これは別に覚えるとか難しいとかいったたぐいのことではありません。まさに「数学は暗記ではない」の正しい部分です。この部分は次のようにして理解してください。
 x=aの時のy座標は、接線なので関数がx=aの時の値f(a)と一致するはずです。つまり接線はこの (a, f(a)) という点は通ってなくてはなりません。
75.jpg
一方、切片というのはx=0の時の浮きです。直線における傾きとは、xが1増えるとyがどれだけ減るかなので、この場合傾きが f'(a) だから x が1増えるとyはf'(a)増えます。逆に言うとxが1減る(左にいく)とyはf'(a)減ります(下に下がります)。この直線は x=a のとき y=f(a) という点にいるのだから、x=0 の点に戻ると、この点から左にaだけ行くことになります。ということはa戻ったのだから傾き f'(a) の a 倍値が下がらなければなりません。以上から f(a)-af'(a) が直に切片ということになります
76.jpg
これで分かるのではないかと思います。したがってこれは別に覚えなくてもいいです。微分というのは接線の傾きとさえ知っていれば、x=a で f(a) を通るため、切片というのはx=0のときどれだけ浮いているかということですので「xをa戻した時の減少量であるaf'(a)を元居たy座標の f(a) から差し引いて f(a) - af'(a)」と思い出すだけです。式を覚える必要は全くなくて、単に直線のことを分かっているかどうかというだけの問題になります。
 
 以上で微分の原理はすべてです。

ニュートン法の公式

ついに接線の方程式を扱えるようになったため、ニュートン法の実践に入ります。何度も確認になりますが、ニュートン法はまず答えが求めたい数になるような方程式を立て、 (左辺) = 0 という形式にする必要があります。ルート2なら
3.jpg
です。こうなる理由は「左辺が0になるかどうかで答えに近づいていることが確認できる」からです。「左辺 = 0」という式なので当然左辺が0になれば答えです。そのような答えに確実に近づくための手法はいくつかあるのですが、その1つがニュートン法なのです。
 
6.jpg
これが y=(左辺) の関数だとします。関数上に適当な点を取ります。これはどんなに離れていても問題ありませんが、当然見込みが立つのであれば近い方が楽です。
7.jpg
次に、この点の接線を引きます。そこからまた接線がx軸と交わる点のx座標を求め、垂線を引いて関数に達した場所を次の点にし、これを延々と繰り返します。
8.jpg
9.jpg
接線の方程式を使えるようになったので、早速接線の方程式を作りながらルート2に近づけていきましょう。
 先ほど書いた手順を1つ1つやってもいいですが、計算量を減らすために少しだけ工夫をします。ニュートン法で出てくる各x座標をx0, x1, x2・・・としましょう。最初に打った適当な点のx座標をx0、そこから接線を引いてx軸との交点になった場所をx1・・・ということです。
 最初に、x0の点の接線を求めましょう。先ほどの公式のようなもののaがx0になっただけなので
77.jpg
ですぐ分かります。もちろんxは変数、x0は適当にとった定数(1とか10とか-3など)なので変数xとは無関係であり、区別する必要があります。
 次に、この直線のx軸との交点のx座標がx1になるのでした。x軸は y=0 のことなので、yを0にしたときのx座標がx1です。したがって
78.jpg
ということになります。あとはx1について解けばいいだけです。まずx1についてる邪魔な f'(x0) を割りましょう。
79.jpg
なにやら綺麗な形になります。移行すれば
80.jpg
が分かりました。これは何を言っているのかというと、別に接線の方程式を求めてx軸の交点を・・・ということをやらなくても、直接上のものを計算すればx1が出てくるということを言っています。x1での接線の方程式もやはり
81.jpg
という同じ形になるので、x2も同じ方法で得られます。結局、一般の場合についてこれは成立するため、n番目(n=0,1,2,3・・・)のx座標に対して
82.jpg
で次を求めることができます。結局、やればいいことはこれだけです。これこそがニュートン法の虎の巻ともいえる公式なのです。
 

ニュートン法の実践

3.jpg
の左辺をf(x)とすると、f'(x) = 2x なのがすぐわかります。とりあえず x0=2 とでもしておきましょう。各xが、現時点でのルート2の推定値ということになります。最初はルート2とは2のことではないかと仮定したわけです。
 公式に入れるために f(x0), f'(x0) を計算します。それぞれ x=x0=2 を代入するだけで簡単です。 f(2)=2, f'(2)=4 であるため、
83.jpg
が分かります。電卓のやることを手でやりたいといっているのに電卓をつかうのはおかしいかもしれませんが、ここからは電卓を使った方が無難です(もちろん手でもできますが大変面倒です)。
 全く同様に次を求めると
84.jpg
なので、
85.jpg
となります。すでにここで 1.41 が現れていることに注目してください。
 次も面倒ですが全く同様です。
86.jpg
最初に書きましたが f(x) というのは (左辺) = 0 の左辺のことです。つまり、f(x) が 0 に近いほど答えに近づいています。 f(x) は式が2乗されているので直接の誤差ではありませんが、言ってみれば今答えからどれだけ誤差があるの目安です。3回目の計算にしてすでにそれが 0.006944 などという細かさになっているところに注目してください。
87.jpg
この辺でやめておきますが、既に見知った値がかなりの精度で登場しています。このようにして計算を繰り返すことで、ルートが算出できるのです。
 ちなみに、値は慎重に決める必要はなく、たとえば最初の座標を99にしましょう。コンピュータに全く同じ手順をやらせてみると
88.jpg
これでもあっという間に打ち止め(コンピュータで表現できる細かさの限界まで高い精度になったという意味)になります。

その他の記事

コメント

名前 :
電子メール :
URL :
コメント