スポンサーリンク

「多変数のテイラーの定理と多変数のテイラー展開」【解析学の基礎シリーズ】偏微分編 その8

微分法

本記事の内容

本記事は多変数のテイラーの定理を証明して、実際にいくつか計算してみる記事です。

本記事を読むにあたり、1変数のテイラーの定理と多項定理について知っている必要があるため、以下の記事も合わせてご覧ください。

↓1変数のテイラーの定理

↓多項定理の記事

多変数でもテイラーの定理が成り立ちます。

多変数関数についてもテイラーの定理が成り立ちます。
しかも、1変数のテイラーの定理を知っていれば、その証明のシンプルです。

というのも、多変数の平均値の定理の場合と同様に、1変数の場合のテイラーの定理を使うことで直ちに証明できるからです。

以前の記事でも述べましたが、そもそもテイラーの定理は、ある条件下の関数に対して高階導関数の微分係数を用いて多項式展開するという話でした。
多変数の場合は高階偏導関数と多項式てんかいが必要になりますが、本質的には同じです。

多変数のテイラーの定理の明示とその証明

では、早速行きましょう!

多変数のテイラーの定理の明示

定理1.(多変数のテイラーの定理)

n,kNn,kNΩΩRnRnの開集合、f:ΩRf:ΩRCkCkの関数、aΩhRn、線分[a,a+h]Ωとするとき、次の式を満たすような0<θ<1が存在する。 f(a+h)=k1m=01m!(dmf)a(h)+1k!(dkf)a+θh(h). ただし、(dmf)x(h)fxにおけるm次微分と呼ばれるhについてのm次形式で、次の式で定められる。 (dmf)x(h)=1i1,i2,,imnmfxi1xi2xim(x)hi1hi2him.

m次微分についてはまだ見慣れないものだと思います。
しかし、(dmf)a(h)の部分をdmdxmf(a)(h)と書いて、x=a+hと書き直したら1変数のテイラーの定理になります。

いざ、証明

では、多変数のテイラーの定理を証明します。

定理1.の証明

n,kNΩRnの開集合、f:ΩRCkの関数、aΩhRn、線分[a,a+h]Ωとして、
F(t)=f(a+th)
とします。
このとき、fCk級であるので、F[0,1]Ck級です。
ここで、次の事実を使います。

定理2.

ΩRnの開集合、kNf:ΩRCk級、aΩhRn[a,a+h]Ωとする。ただし [a,a+h]={(1t)a+t(a+h) | t[0,1]} である。このとき F(t)=f(a+th)(t[0,1]) とおくと、F:[0,1]RCk級で、m{1,,k}に対して F(m)(t)=(dmf)a+th(h) である。

定理2.の証明は【解析学の基礎シリーズ】偏微分編 その7を御覧ください。

これはm=0の場合はF(0)(t)=F(t)と捉えると、今
F(m)(t)=(dmf)a+th(h)(0mk)
が成り立っているということになります。
ここで、1変数のテイラーの定理を使います。

1変数のテイラーの定理は以下でした。

1変数のテイラーの定理

kNIRの区間、f:IRk階微分可能な関数、aIxIとするとき、 f(x)=f(a)+f(a)1!(xa)+f(a)2!(xa)2++f(k1)(a)(k1)!(xa)k1+Rk と書いてRkを定めれば、 Rk=f(k)(c)k!(xa)k を満たすようなcaxの間に、すなわちa<xならばc(a,x)に、x<aならばc(x,a)に、a=xならばc=aとして存在する。

1変数のテイラーの定理の証明は【解析学の基礎シリーズ】1変数実数値関数の微分編 その10を御覧ください。

さて、1変数のテイラーの定理から、あるθ(0,1)が存在して、
F(1)=k1m=0F(m)(0)m!1m+1k!F(k)(θ)1k=k1m=0F(m)(0)m!+1k!F(k)(θ)
が成り立ちます。
後は、上記の式に
F(1)=f(a+h),F(m)(0)=(dmf)a(h),F(k)(θ)=(dkf)a+θh(h)
を代入してみると、
f(a+h)=k1m=01m!(dmf)a(h)+1k!(dkf)a+θh(h)
が成り立ちます。

定理1.の証明終わり

補足(m次微分について)

(dmf)x(h)という記号は便利なのですが、正体が分かりにくいという欠点もあります。
さらに
(dmf)x(h)=1i1,i2,,imnmfxi1xi2xim(x)hi1hi2him.
の右辺も分かりにくいと思います。
勿論正しいのですが。

そこで、多項定理を用いて書き換えてみます。
多項定理とは以下でした。

定理3.(多項定理(the multinomial theorem))

n,mNn2とするとき、 (a1++an)m=1i1,i2,,imnai1ai2aim=α1,α2,,αnN{0}α1+α2++αn=mm!α1!α2!αn!aα11aα22aαnn

定理3.(多項定理)の証明は【解析学の基礎シリーズ】偏微分編 その7を御覧ください。

この多項定理を使うと、
(dmf)x(h)=1i1,i2,,imnmfxi1xi2xim(x)hi1hi2him=(h1x1+h2x2++hnxn)mf(x)=α1,α2,,αnN{0}α1+α2++αn=mm!α1!α2!αn!mfxα11xα22xαnn(x)hα11hα22hαnn
と書けます。

ただし、2行目の
(h1x1+h2x2++hnxn)mf(x)
に対して、xif(x)fxi(x)を意味しています。

個人的には2行目の式が最もシンプルで分かりやすいかな、と思っています。
勿論、読者の方が最も分かりやすいと思った記法を用いていただいて構いません。

多変数のテイラーの定理は関数の極値問題に使われます。

テイラーの定理はありとあらゆるところで使われます。
その一例として多変数関数の極値を求める際に使います。
そこでヘッセ行列(ヘシアン)が出現します。

次回に解説しますので、詳しくは次回までお待ち下さい。

多変数のテイラー展開(特に2変数)

ここでは2変数のテイラー展開について解説します。
本質的には1変数と同じです。

2変数のテイラー展開

以降、fは2変数関数とします。
主張としてはシンプルで、多変数のテイラーの定理が成り立つようなfについては
f(a+h)=k1m=01m!(dmf)a(h)+1k!(dkf)a+θh(h)
が成り立っています。
このとき、この式の両辺をkとしてみます。
すると、
limkf(a+h)=limkk1m=01m!(dmf)a(h)+limk1k!(dkf)a+θh(h)
となります。
上記の式の左辺はkに依存しないため、limkf(a+h)=f(a+h)です。
一方で、右辺に対して、仮に
limk1k!(dkf)a+θh(h)=0
が成り立っていれば、①式は
f(a+h)=limkk1m=01m!(dmf)a(h)+limk1k!(dkf)a+θh(h)=m=01m!(dmf)a(h)=m=01m!(h1x1+h2x2)mf(a)
となります。
これが2変数の場合のテイラー展開です。
同様にして2以上の変数に対してのテイラー展開が定まります。

この式を少々書き換えてみます。
a=(a1,a2)h=(h1,h2)として、x=a+h、すなわち(x,y)=(a1+h1,a2+h2)とおくと、
f(x,y)=m=01m!((xa1)x+(ya2)y)mf(a1,a2)
となります。
さらにこれを少し展開してみると、
f(x,y)=m=01m!((xa1)x+(ya2)y)mf(a1,a2)=f(a1,a2)+fx(a1,a2)(xa1)+fy(a1,a2)(ya2)+12(2fx2(a1,a2)(xa1)2+22fxy(a1,a2)(xa1)(ya2)+2fy2(a1,a2)(ya2)2)+
となります。

1変数の場合と同様に、a=0の場合はマクローリン展開と呼ばれます。

実際に計算してみよう!

1変数の場合は代表例があったのですが、多変数の場合だと代表例という代表例を出す意味があまりないように思います。

1変数の場合はsinxやらcosxやらlog(1+x)やらと分かりやすい代表例がありましたが、多変数となると話が変わります。
というのもsinを一つとってもsinxyだったりsin(x+y)だったり、sin(x2+y2)だったりとたくさんあります。

1変数の場合はsinxが分かってしまえば、sin(x+1)sinx2sin1xも直ちに分かるのですが、多変数の場合はそうもいきません。

従って、多変数の場合のテイラー展開の代表例というのはあまり提示する意味が無い気がしています。

そこで、ここではある種、練習問題として多変数のテイラー展開を実際に計算してみます。

まずは簡単な例から。

f(x,y)=x22xy+y2(x,y)=(1,1)まわりのテイラー展開

では行きましょう。

まずは各種偏導関数を計算します。

  • f(1,1)=0
  • fx=2x2y
    従って、fx(1,1)(x1)=0×(x1)=0
  • fy=2x+2y
    従って、fy(1,1)(y1)=0×(x1)=0
  • 2fx2=2
    従って2fx2(1,1)(x1)2=2(x1)2
  • 2fy2=2
    従って2fy2(1,1)(y1)2=2(y1)2
  • 2fxy=2
    従って2fxy(1,1)(x1)(y1)=2(x1)(y1)
  • 2fyx=2
    従って2fyx(1,1)(y1)(x1)=2(y1)(x1)

さて、3次以降の偏導関数は定数関数の微分ですので全て0です。
故に、
f(x,y)=m=01m!((x1)x+(y1)y)mf(1,1)=2m=01m!((x1)x+(y1)y)mf(1,1)=f(1,1)+fx(1,1)(x1)+fy(1,1)(y1)+12(2fx2(1,1)(x1)2+22fxy(1,1)(x1)(y1)+2fy2(1,1)(y1)2)=0+0+0+12(2(x1)24(x1)(y1)+2(y1)2)=(x1)22(x1)(y1)+(y1)2

f(x,y)=sinxy(x,y)=(1,1)まわりのテイラー展開

では行きましょう。

まずは、各種偏導関数を計算してみます。

  • f(1,1)=sin1
  • fx=ycosxy
    従ってfx(1,1)(x1)=(x1)cos1
  • fy=xcosxy
    従ってfy(1,1)(y1)=(y1)cos1
  • 2fx2=y2sinxy
    従って2fx2(1,1)(x1)2=(x1)2sin1
  • 2fy2=x2sinxy
    従って2fy2(1,1)(y1)2=(y1)2sin1
  • 2fxy=cosxyxysinxy
    従って2fxy(1,1)(x1)(y1)=(x1)(y1)(cos1sin1)
  • 2fyx=cosxyxysinxy
    従って2fyx(1,1)(y1)(x1)=(y1)(x1)(cos1sin1)

以上により、f(1,1)周りのテイラー展開は
f(x,y)=m=01m!((x1)x+(y1)y)mf(1,1)=f(1,1)+fx(1,1)(x1)+fy(1,1)(y1)+12(2fx2(1,1)(x1)2+22fxy(1,1)(x1)(y1)+2fy2(1,1)(y1)2)+=sin1++(x1)cos1+(y1)cos1+12((x1)2sin1+2(x1)(y1)(cos1sin1)(y1)2sin1)+

「あれ?第n項は?」と思われるかもしれませんが、これを計算しようとする、ということは
((x1)x+(y1)y)nf(1,1)
を計算する、ということで二項定理を使わなければなりません。
そうなると計算量がだけでなく規則性を見つけること、すなわち第n項をnを用いて表すことが困難です。
それ故あまり第n項の形を表記せよ!と出題者側から求められることは少なく、「2次の項まで求めよ」のように出題されます。

読者の皆様のコメントを下さい!

さて、ちょっとだけ余談です。

1変数のときにも少し述べましたが、「sinxy(1,1)周りのテイラー展開を2次の項まで求めよ」と言われたときに
f(x,y)=sin1+(x1)cos1+(y1)cos1+12((x1)2sin1+2(x1)(y1)(cos1sin1)(y1)2sin1)
と書かれている記事をいくつか見つけました(関数は違いますが)。
しかし、これは間違いです。
「どの部分が?」というと、=で結んでいるところです。

テイラー展開は級数でもってはじめて元の関数と一致するため、2次の項で止めてしまったものは等しくなりえないからです。
故に、筆者は”必要なときには必ず”をつけています。

勿論、先の例のf(x,y)=x22xy+y2のように、3次以降の偏微分係数が全て0の場合はは必要ありません(0なのでね)。

このように計算にばかり目をやっていると厳密な話がおろそかになってしまうことがあります。
もしそういう経験がありましたら是非コメントで教えて下さい!
例えば「〇〇の単元で△△と書いて間違いました。」みたいなことをいただけると嬉しいです。
他の読者の方のためにもなりますし!

実は、恥ずかしながら、筆者が大学1年生のときにはテイラー展開を2次の項までで止めて=で結ぶことになんら疑問を抱かなかった過去があります(恥ずかしい)。

今回は多変数のテイラーの定理とテイラー展開について解説しました。
テイラー展開は多変数であったとしても本質的には1変数の場合と何ら変わりません。
ただ、多変数の場合は変数が増えますので、偏微分係数の計算が1変数に比べて増えます。
そして、多くの場合は多変数関数は合成関数の形をしているため、多変数の合成関数の微分の計算ができないといけません。

次回はテイラーの定理から誘導されるヘッセ行列と極値問題について解説します。

乞うご期待!
質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、「定理〇〇の△△が分からない!」などいただければ全てお答えします!
お問い合わせの内容にもよりますが、ご質問はおおよそ3日以内にお答えします。
もし直ちに回答が欲しければその旨もコメントでお知らせください。直ちに対応いたします。

Twitterでもリプ、DM問わず質問、コメントを大募集しております!

コメントをする

タイトルとURLをコピーしました