17章 第2次偏導関数と2変数関数の極値 


1.第2次偏導関数

2変数関数f(x,y)の第2次偏導関数、例えば fxy(x,y)を求めるには


>diff(f(x,y),x,y)  


あるいは

>D[1,2](f)  


とします。


実習 17.1    Δf=0を満たすC2関数f(x,y)を調和関数といいます、ここで、Δf=fxx+fyyです。(Δはラプラシアンとよばれます。)  
次の関数が調和関数であるかどうか調べなさい。
(1)f(x,y)=x2−y2
(2)f(x,y)=log(x2+y2) 
注意 複雑な形の答えが出力された時には、simplifyコマンドを用いて、より簡単な形で答えを表示できないか試してみましょう。

[正解例]




2. 極大・極小   関数f(x,y)において、あるδ>0に対し 
ならば
f(x,y)<f(a,b) (あるいは、f(x,y)>f(a,b))
が成り立つとき、(a,b)を極大点 (あるいは 極小点)といい、f(a,b)をfの極大値(あるいは 極小値)といいます。
関数f(x,y)=x3+y3−3xyの極値を求めてみましょう。


>f:=(x,y)->x3+y3-3*x*y

>solve({diff(f(x,y),x)=0,diff(f(x,y),y)=0},{x,y})
(fの臨界点を求める)


{y=0,x=0},{y=1,x=1},{………}


>evalf(%)

>det(H):=diff(f(x,y),x,x)*diff(f(x,y),y,y)-diff(f(x,y),x,y)2
(ヘッセ行列の行列式をdet(H)とおく)




>subs(x=0,y=0,det(H))
((0,0)におけるdet(H)の値を計算)

−9
(det(H)<0より,(0,0)で極値をとらない)



>subs(x=1,y=1,det(H))
((1,1)における det(H)の値を計算)


27



>subs(x=1,y=1,diff(f(x,y),x,x))
(fxx(1,1)を計算)


6


(det(H)>0かつfxx(1,1)>0であるから(1,1)は極小点である)


>f(1,1)
(極小値f(1,1)を計算)


>plot3d(fx,y),x=-0.5..1.5,y=-0.5..1.5,style=patchcontour,contours=30)

([-0.5,1.5]×[-0.5,1.5]における z=f(x,y)のグラフを表示) 




注意
(1)行列 はヘッセ行列とよばれます。
関数f(x,y)のヘッセ行列はdet(H)=fxxfyy-yxyfyx です。特に、fがC2級の場合は fxy=fが成り立つから、det(H)=fxxfyy-fxy2となります。  

(2)関数f(x,y)が点(a,b)で極値をとるならば、fx(a,b)=0かつ,fy(a,b)が成り立つ、すなわち(a,b)は臨界点です。すなわち(a,b)は臨界点です。
ここでfx(a,b)=0かつfy(a,b)=0を満たす点(a,b)を臨界点といいます。
臨界点(a,b)において、
(i)det(H)>0のとき 
  fxx>0ならば(a,b)は極小点
  fxx<0ならば(a,b)は極大点
(ii)det(H)<0のとき(a,b)でf(x,y)は極値をとらない
ことが証明できます。 (ii)の場合、(a,b)は鞍点とよばれます。 

実習 17.2
関数f(x,y)=(x2+y2)2-2x2+2y2の極値を求めなさい。
また、関数のグラフを等高線をつけて表示し、結果を確かめなさい。

[正解例]


実習 17.3
関数f(x,y)=e-x2-y2(2x2+y2)について以下の問いに答えよ。
(1) 臨界点を求めなさい。
(2)極値を求めなさい。
(3)z=f(x,y)のグラフを作成して(1),(2)の結果を確認しなさい。

[正解例]