|
3.2.7 一意的な値を持たない関数
の平方根 を求めるということは,実際には,方程式 の解を求めることである.ところが,一般に,この方程式には解が2つ存在する.例えば, に対して,解は, と の2つがある. を「関数」とみたててそれを評価するとき,通常,単一な値を結果として得たいので,一方を選択しなければいけない. なら, は正とする,というのが標準的な選択である.Mathematicaの関数 Sqrt[x]も正を選択をするようになっている.
2つの解から単一の解を選ばなければならないということは, Sqrt[x]の操作は, x^2の真の逆関数ではないということになる.つまり,与えられた数の2乗を取り,2乗した値から平方根を求めても必ずしももとの数は得られない.
を計算すると, が返ってくる. は得られない.
In[1]:= Sqrt[4]
Out[1]= 
2乗した値から平方根を取っても必ずしももとの値は得られない.
In[2]:= Sqrt[(-2)^2]
Out[2]= 
を評価すると,可能な解として と がある.この場合は,どちらの解を優先すべきかは上の場合ほど明確に定められない.
実際,すべての複素数 に対して連続となるように の値を選択することは不可能である.複素平面上に「分岐」と呼ばれる半直線を設定し, がこの半直線を越えて動くとき は不連続となる,としてやる必要がある. Mathematicaでは, に対する分岐を負の実軸に沿うものとする標準的な規約が使われている.
求まるのは で, ではない.
In[3]:= N[ Sqrt[-2 I] ]
Out[3]= 
Sqrtにおける負の実軸に沿った分岐は次のことを意味する.つまり, zが軸のすぐ上とすぐ下のどちらの値を取るかで, Sqrt[z]の値は大きく変わる.
In[4]:= {Sqrt[-2 + 0.1 I], Sqrt[-2 - 0.1 I]}
Out[4]= 
2乗すると両方とも近い値である.
In[5]:= %^2
Out[5]= 
平方根の虚部を3Dプロットする.負の実軸に沿って不連続になっているのがよく分かる.
In[6]:= Plot3D[ Im[Sqrt[x + I y]], {x, -4, 4}, {y, -4, 4} ]

Out[6]= 
を用いて の 乗根を求めるとき,原理的には結果に 通りの可能性がある.単一の値を得るには,特定の「主根」を選ぶ必要がある. 乗したベキ数から 乗根を求めてももとの数が得られるという保証はない.
複素数を10乗する.得られる値は一意的に決まる.
In[7]:= (2.5 + I)^10
Out[7]= 
10個の10乗根が可能であるが,その中の1つだけが実際に使われる.この場合は,10乗根が取られたもとの数ではない.
In[8]:= %^(1/10)
Out[8]= 
平方根のような,基本的に方程式の解を見出す関数がいくつもある.対数関数や逆三角関数もこの種の関数に当たる.これらを使うほとんどの方程式問題では,方程式には複数の解が存在する.それで も,一意的な「主」値を選択する必要がある.このとき,全複素平面において連続となる主値を選択することはできない.このため,不連続な線,つまり,分岐が存在する必要がある.これらの分岐をどの位置に取るかは本来任意である. Mathematicaでは,数学で最も標準的とされる分岐位置が採用されている.

Mathematicaが設定している分岐.その線上で関数は不連続となる
ArcSinは多価関数であるから,常に Sinの「逆」が得られるという保証は ない.
In[9]:= ArcSin[Sin[4.5]]
Out[9]= 
分岐の両側において, ArcSin[z]の値は大きく異なる.
In[10]:= {ArcSin[2 + 0.1 I], ArcSin[2 - 0.1 I]}
Out[10]= 
3次元で の虚部をプロットする.2個所で分岐が入っているのが分かる.
In[11]:= Plot3D[ Im[ArcSin[x + I y]], {x, -4, 4}, {y, -4, 4}]

Out[11]= 
|