紙と鉛筆で計算するのが面倒、もしくは計算ミスをしていないか、自信がない
という一つ問題を解いてみよう。解析概論から一題。
f=(x^2-y^2)Exp[-(x^2+y^2)] fx=D[f,x] fx=Simplify[%] fy=Simplify[D[f,y]] Solve[{fx==0,fy==0},{x,y}] 警告が出る。 Mathematica 4.0 では努力してゴミ (解でないもの) を出してしまう。 どうも Exp[-(x^2+y^2)] で苦労しているようなので、それを除いてやる。 s=Solve[{Exp[x^2+y^2]fx==0,Exp[x^2+y^2]fy==0},{x,y}] こうすると、どのバージョンでも警告無しにちゃんと解ける。 Plot3D[f,{x,-2,2},{y,-2,2}] グラフを消すには、(1)クリック, (2)FileからQuit, (3) C-q のいずれか ContourPlot[f,{x,-2,2},{y,-2,2}] 山と谷, 交わる2曲線 分かりますか? fxx=D[fx,x] fxx=Simplify[%] fxy=Simplify[D[fx,y]] fyx=Simplify[D[fy,x]] fyy=Simplify[D[fy,y]] ちなみにバージョンによって、見栄えが異なります。 h={{fxx,fxy},{fyx,fyy}} s h /. {x -> -1, y -> 0} Eigenvalues[%] ともに負 (極大!) Eigenvalues[h /. {x -> -1, y -> 0}] f /. {x -> -1, y -> 0} 値は1/E Eigenvalues[h /. {x -> 0, y -> 0}] 不定符号 Eigenvalues[h /. {x -> 1, y -> 0}] ともに負 (極大!) f /. {x -> 1, y -> 0} 値は 1/E Eigenvalues[h /. {x -> 0, y -> -1}] ともに正 (極小!) f /. {x -> 0, y -> -1} 値は -1/E Eigenvalues[h /. {x -> 0, y -> 1}] ともに正 (極小!) f /. {x -> 0, y -> 1} 値は -1/E
[l]おまけ