電子書籍の厳選無料作品が豊富!

複素関数論初心者です。別の方の質問と回答を拝見して疑問に思った
ことがあり、二点ほど質問させていただきます。
(以下、質問点のご回答のみならず、誤っているところがあれば
 ご指摘ください)


例えば、複素平面上において関数
 F(z)=z^7 - 5 z^4 + z^2 - 2 = 0
の|z|<0.5における解の個数を求めるという場合、偏角の定理に基づき、
 F'(z)/F(z)
を|z|=0.5の円周に沿って一周積分するという方法でも可能、
つまり重複度含めた零点の個数が算出されると理解しております。

これを具体的に計算してみます。
 F'(z)/F(z)のzに関する不定積分=log(F(z))
となるので、これに
 F(z)=z^7 - 5 z^4 + z^2 - 2
を代入し、さらにzを極座標形式で表し、
 log(F(0.5 e^2πi))-log(F(0.5 e^0 i))
と計算すると、(この計算だけ見れば当たり前かもしれませんが)
値は零になってしまい、望む値を算出できません。

そこで、さらにlog(F(z))=log|F(z)|+i arg F(z)と置き換えて計算
してみます。
log|F(z)|の部分は差し引き零となって消えるとは思うのですが、
arg F(z)の部分のこの場合の計算方法が良く分かりません。
この計算方法が一点目の質問です。

蛇足ですが、F(z)が完全に因数分解できるならば、公式
 log(ab)=log(a)+log(b)
 arg(ab)=arg(a)+arg(b)
等を用いてlog(F(z))を複数のlog項の和に分解することにより
望む値を算出できると考えておりますが、この手法は上記の
F(z)には使えないと思っております。


また、別の方法として、不定積分を使わず、
 F'(z)/F(z)
 =(7 z^6 - 20 z^3 + 2 z)/(z^7 - 5 z^4 + z^2 - 2)
のzに0.5 e^i tと代入し、dz=0.5 i e^it dtと置換した上で、
t:0~2πの範囲で数値積分を実行し、最後に算出値を2πで割れば、
望む値が出てくるものでしょうか。これが二点目の質問です。
(この計算も試してみましたが、良く分かりませんでした。)


以上です。よろしくお願いします。

A 回答 (2件)

> 値は零になってしまい、望む値を算出できません。


閉路積分を計算するのに、原始関数の同じ枝へ両端を代入してはいけません。
それをやったら、得られる値は0にしかなりません。
被積分関数を、複素平面上のある点からある点まで、ある曲線に沿って線積分
するのが、複素積分です。この「曲線」を、その積分の「積分路」と言います。
被積分関数が特異点を持てば、同じ関数を同じ点から同じ点まで積分しても、
積分の値は、積分路によって異なります。(← コーシーの積分定理)
積分路が、ある一組の特異点の周囲をグルグル回るときには、
積分の値は、積分路が何周回ったかに従って、一周回った場合の値の整数倍
になります。この一周分の積分が、「閉路積分」です。
同じ原始関数に両端を代入しては、0周回ったことにしかなりませんから、
値は0です。
    • good
    • 0
この回答へのお礼

勉強不足だったようです。理解が深まりました。ご指摘ありがとうございます。


異なる枝を原始関数で表現したいとすれば、例えば原点にのみ特異点があることが予め判明していて、その周囲を正方向に3周回った後に辿り着く枝という場合ならば、計算者が意図的、後付け的に「log(f(z))=log|f(z)|+i arg f(z)」のarg f(z)に3×2π=6πを代入などすれば表現可能かと思います。(という理解で宜しいでしょうか?)

一方、今回の関数のように、一見して零点・特異点の位置(積分路の範囲内に何個含まれるか)が不明の場合、上記のような操作ができません。

No.1の方にお教えいただいた方法で零点座標を調べ、その上でならばできるかもしれませんが、そもそも積分路範囲内の零点個数を求めるという実用的な目的からすれば、No.1の方の方法の実行で終わってしまいます。

方程式の解を解の公式から機械的に計算するようなイメージで、計算者の意図的操作や煩雑な場合分けなど無しで、原始関数から積分路に含まれる零点個数を機械的に算出できれば実用解法として理想的だと思うのですが。。


とにもかくにも、ご回答ありがとうございました。

お礼日時:2008/09/12 11:31

F(z)=0をフリーソフトMaximaで全ての複素解をallroots(F(z)=0,z)を使って算出できて以下のようになります。



実数解は
z=1.69778132589696
のみで、他は以下の共役複素解になります。
z=0.58742519491202±0.5226834402062i,
z=-0.62241581551203±0.50377130641018i,
z=-0.81390004234847±1.519588856699728i

いずれも|z|>0.5ですので
|z|<0.5における解の個数は0個になります。
    • good
    • 0
この回答へのお礼

Maximaでそのような数値計算ができるのですね。勉強になりました。
私も早く数式処理システムを使いこなせるようになりたいです。
ありがとうございました。

お礼日時:2008/09/11 17:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!