• 締切済み

複素数の範囲での対数の扱い

http://oshiete1.goo.ne.jp/kotaeru.php3?q=2231046 こちらで現在質問をしているのですが、 疑問が出てきたので別途質問させていただきます。 例えばi^iについて解説している所を見ると、  i^i = exp(i*log(i)) (iは虚数単位) としている所が多いのですが、そもそも  log(i^i) = i * log(i) は一般的に成り立つのでしょうか? 主値を考えたときに成り立つのはともかくとして、 他の範囲で成り立つかどうかが判りません。 log(i)もi^iも多価関数というのは判ります。 まず前者は  log(i) = log|i| + i * (π/2 + 2kπ) (k∈Z)  i * log(i) = i * (π/2 + 2kπ) = -(π/2 + 2kπ) ∴exp{i * log(i)} = exp{-(π/2 + 2kπ)} これから導き出される解は一般に知られているものと等しいようです。 しかし、後者に関しては  i^i = [r * exp{i(π/2 + 2kπ)}]^i (???) などとやってもよく判らなくなってしまいます。 要するに「任意の複素数の複素数乗」が判らないというわけで。 具体的な解説をお願いします。

みんなの回答

  • proto
  • ベストアンサー率47% (366/775)
回答No.1

素人なので詳しくは無いのですが、この場合注目すべき変形は  log(i^i) = i * log(i) よりも  z=exp(ln(z)) ではないでしょうか。 実数の範囲では指数関数、対数関数は共に1対1関数であり、互いに逆関数であるので。 x>0について、  x = exp(ln(x)) = log(ln(x)) は正しそうです。 しかし複素数の範囲では指数関数は周期性を持ち対数関数は多価関数であるので、考え直してみる必要があるでしょう。 まず指数関数、対数関数の定義域の拡張ですが、簡単には 級数展開により指数関数を定義。 複素数に対して対数法則  log(α*β) = log(α)+log(β) を認め、指数関数の逆関数として対数関数を定義、とすれば、  z = exp(ln(z)) は一価関数となり、成り立ちそうです。  z = ln(exp(z)) は多価関数となり、必ずしも一致とは言えないようです。 このような視点から考え直してみてはどうでしょう。

wahhaman
質問者

お礼

z = ln(exp(z))って多価関数になりますかね? オイラーの公式を使っても虚部はsinθ、θ∈Rという周期関数なので、 結局一価関数にしかならないような気がするのですが。 詳しい説明お願いします。

wahhaman
質問者

補足

あ、と思ったら思いっきりlnの中にiが入ってますね。 確かに多価関数でした。

関連するQ&A

  • 複素数について

    虚数単位iを導入すると複素係数多項式の解は複素数の中にある。つまり複素数の代数閉体は複素数というのがありますが、何故なんでしょう。言いたいことは分かるのですが、例えばX^2=iの解も複素数ということになります。どうして多項式の解は複素数の範囲に収まるんでしょうか?哲学的というか直感的な説明を誰かしていただけませんか?

  • 高校数学の複素数の範囲について

    二次方程式の解を判別する問題で(kは定数とする) 2x^2-(k+2)x+k-1=0 の場合kは複素数の範囲ではなぜ考えてはいけないのでしょうか? 問題に 複素数の範囲で答えよ と記されていないからでしょうか? どのような場合に複素数の範囲で答えていいのかが疑問です。 また、 和が3、積が3である2数を求めろ という問題では虚数解で答えて大丈夫らしく… 2x^4-3x^3-x^2-3x+2を因数分解する問題では虚数解で答えてはいけなく どういう時に虚数解で答えていいのかがわかりません。 回答よろしくお願いします。

  • C言語の複素数についてです。

    C言語で複素数を使うことになりましたが、複素数をプログラム上でどう使うかわかりません。 粒子の複素屈折率を計算してシミュレーションするというものです。 その複素屈折率は 0.57+2.74i と表されます。iが虚数です。 一般的にCプログラムで複素数を使えるようにする一番簡単な方法はなんでしょうか? 具体的に参考にできるプログラムコードとかあれば是非教えて下さい。 #define complex とか使うのでしょうか? おそらくcomplexというものを使うんだとは思います。実数部と虚数部を分けて考えるのでしょうか。 C言語、いまいちよくわからなくて……どなたか詳しい方、教えて下さい。

  • 複素数の対数の「無限多価性」が疑問です。

    複素数の対数は無限多価性があると言います。 が、 e^(i*θ)= cosθ+i*sinθ  ならば、 log[e] {c*(cosθ+i*sinθ)} = log[e]c + i*θ  ですので、 c と θ が一意的に定まっている場合、右辺は1価関数ですので、複素数は全て、対数は1価関数になるのでは有りませんか。どこが推論が間違っていますのでしょうか。

  • 複素数 2次方程式

    虚数を係数にもつ2次方程式についての質問です 問題文 x^2+(2k-i)x+8+2i=0 が実数解を持つように、定数kの値を定めよ またそのときの実数解を求めよ という問題で、 (x^2+2xk+8)+(-x+2)i=0 と整理し、複素数の相等を利用して答えを出すのはわかります。 答えは、k=-3 x=2 となりました。 2次方程式なので、解は2つあると思います そこで、 もう一方の解をβとして、 解と係数の関係で α+β=6+i(もとの2次式にkの値を代入して出した) とするとβ=4+i となり、題意を満たさないのでこれは答える必要はないのですが 複素数が解のとき、共役な複素数はセットで出てきますよね? なので、x=2、4+i というのはおかしいと思いますが、どうしてこうなってしまうのか分かりません…… どこかに間違いがありますか? それとも、このような解もありうるのでしょうか? どなたか回答よろしくお願いします。

  • 複素数の留数について

    こんにちは、複素数でわからない問題があります。 exp(az)/1+exp(z)の特異点が一位の極z=πiのみの時、留数定理によって その値は-2πi×exp(iπa) となるそうなのですが、なぜマイナスがつくのか分かりません。単純にz=πiを分子に代入したらマイナスは出てこないですよね。 どうやら、複素平面におけるlog(z)にz=-1を代入するとlog(1)+iπになることと関係があるみたいなのですが、まずなんでlog(1)+iπになるのかが分からないので理解できません。 よろしくお願いします。

  • 複素数の問題でつまずいて困ってます!

    これらの問題の答えはどうなるんでしょうか? 問1 三乗すれば、ー1になる数を3つ求めよ。(x^3+1=0の解) 問2 上記の解を複素平面上に図示しなさい。 問3 極座標表示z=r・exp(iθ)で、3つの解を表わしなさい できれば詳しい解説もお願いしたいです

  • 複素数の複素数乗の考え方について

    z,α,β∈Cのときの考え方について悩んでます。 (i) z^α * z^β = z^(α+β) (ii) (z^α)^β = (z^β)^α = z^(αβ) が成立する条件ってどう考えればいいんでしょうか? zが無限多価関数って事を考えてもよく解からない事になります。 (i)の方は  z^α = exp(αlogz) = exp{α(log|z| + argz)}  z^β = exp(βlogz) = exp{β(log|z| + argz)}  z^(α+β) = exp{(α+β)logz} = exp{(α+β)(log|z| + argz)} から  z ≠ 0 な気がするのですが、確証が持てません。 ご教示お願いします。

  • 複素数、ωを使った表し方

    数IIの複素数の分野で、 『3次方程式x^3=1の虚数解のうちの1つをωで表すとき、方程式x^3=a^3(a≠0)の解をωを用いて表せ。』 という問題があったのですが、ωが-1±√3i/2 まではわかりましたがその後がわかりません。 どなたか教えて下さると助かります。

  • C言語で複素数の計算を行いたいと思っております。

    C言語で複素数の計算を行いたいと思っております。 プログラミングソフトは、C言語を始めよう!を用いています。 しかし変数定義の仕方が分かりません。 複素計算とは具体的に、 exp( i π) (i は虚数単位)です 最初に#include<complex.h>を行いましたが 変数の定義の方法、exp( i π)の定義の方法が いまひとつわからない状態です。 保存するときに、Cファイルではなく、 拡張子をcppに変更してCPPファイルでコンパイルを行っています。 exp( i π)を計算可能なプログラムを 教えて頂ければ幸いです。 ご面倒かと思いますが 回答お願いします。