円筒座標系での電磁場のマクスウェル方程式を磁場に関して解いて得られる解が複素数を引数とする0次のベッセル関数
AJ0(kr)、kが複素数、Aは実係数、rは実変数
で得られるのですが
引数を実数に変換する方法がわかりません。
純虚数の引数であれば実数の引数の変形ベッセル関数に変換でき、
実数の引数であれば手持ちの本にベッセル関数の値が載っているのですが
複素数の引数の場合の処理方法がわからなくて困っています。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

科学 計算」に関するQ&A: 科学計算

A 回答 (3件)

z = x+yi として z^2 = (x^2 - y^2) + 2xyi や


r exp(iθ) = r (cosθ+i sinθ)
みたいに,実部と虚部をうまく分離したような形で処理できないか,
というご質問と思いますが,
一般にはこういうふうにうまくはいきません.
今の例で言えば,
J0(z) = u(x,y) + iv(x,y)
となるように u,v を定義することはもちろん可能ですが,
u,v がよく知られた関数になるわけではありません(と思います).
複素変数のベッセル関数というより仕方がないでしょう.

計算センターなど科学計算用ライブラリにはたいてい
複素変数のベッセル関数のサブルーチンが入っています.
あるいは,Cで書かれたソースなどもどこかにあるかも知れませんが
ちょっと今は手が回りません.
    • good
    • 0
この回答へのお礼

なるほど、そのまま複素変数のベッセル関数として計算させるしかないわけですね。
ありがとうございます。
サブルーチンを探してみます。
どのような計算手法なのか知りたいので、
第1種ベッセル関数の解が
Jn(x) = (x/2)^n Σ[{(-1)^n (x/2)^2n } / { n! Γ(n + m + 1 )}]
であるように、複素変数のベッセル関数を数値計算する方法が詳しく載っている本などをもしご存知でしたら教えていただきたいです。

お礼日時:2002/01/11 11:20

siegmund です.



http://oshiete1.goo.ne.jp/kotaeru.php3?q=195527
で uni050 さんご紹介のページからちょっとたどった
http://www.netlib.org/cgi-bin/search.pl
で,bessel と入れてサーチしてみて下さい.
沢山出てきます.
    • good
    • 0
この回答へのお礼

なるほど、いろいろとありがとうございました。
どうにかやってみます。

お礼日時:2002/01/12 20:05

siegmund です.



級数展開自体は x を複素数 z にして
Jn(z) = (z/2)^n Σ[{(-1)^n (z/2)^2n } / { n! Γ(n + m + 1 )}]
でそのまま使えます.
n が非整数ですと頭の (z/2)^n のブランチが悩ましいところですが,
整数なら心配は要りませんね.

級数展開は z=0 の一点の周辺の近似になりますから,
実際の数値計算で得かどうかはよくわかりません.
数値計算プログラムとしては,1点の周りで正確であるよりも
対象とする変数の範囲すべてで規定以上の精度を保証しないといけませんから.

アルゴリズムはちょっと私の手に余ります.

なお,Mathemtica には組み込み関数で BesselJ(n,z) があります.
あと,Maple や それに似ている MuPAD にもあるかもしれません(未確認).
MuPAD はある条件を満たせばフリーで使えるらしいです
(私はまだ使ったことはありませんが).
http://home.att.ne.jp/star/mathmodern/link/linkc …
などからリンクをたどってみてください.
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aと関連する良く見られている質問

Q実数全体の集合,超実数全体の集合,複素数全体の集合の包含関係は?

超実数なるものを知りました。

「公理:Rは完備順序体である
公理:R*はRの真拡大順序体である
Rを実数体,R*を超実数体と言い、それぞれの元を実数,超実数と言う」

といったものですが
実数全体の集合,超実数全体の集合,複素数全体の集合の包含関係はどうなっているのでしょうか?

また、実数は直線,複素数は縦軸を書き足して平面として表す事が出来ますよね。超実数はこれらに何を書き足して表されるのでしょうか?

Aベストアンサー

#2,#4です。

(#5さんへ)

>> いいえ、lim Δx=0(Δx→0)です。

門外漢ながら、
http://www.shinko-keirin.co.jp/kosu/mathematics/jissen/jissen18.html
に lim[Δx→+0]Δx = dx という記述があったので#4のような回答をしました。
しかし、これには私も疑問を感じます。
恐らく、下記の説明のほうがいいのではないかと思います。

正の無限小超実数を1つ選び、dx とおく。
すると、lim[x→+0] f(x) の極限値が存在するならば、
lim[x→+0] f(x) = st(f(dx)) が成り立つ。
(ここで、st(f(dx)) は 超実数 f(dx) の標準部分を表す)

>> 集合の濃度と直感との間には隔たりがありますが、
>> (実数と1:1の)直線の濃度は超実数体の濃度には足りず、
>> 実数直線に何かを足しても直感は満足できないような気がします。

これについては、#3さんと同意見です。
もし直線が実数と1:1なら、#5さんの言うとおりだと思いますが、
直線を超実数と関連付けるような定義があっても不思議ではないと思います。

(質問者さんへ)

>> 単集合A:={L∈R*;0<∀r∈R,0<∃s∈R such that 0<Δx-0<s⇒|L-Δx|<r}≠φの時,Aのたった一つの元を

{}の中の詳細は議論しないことにしますが、
たった一つの元、ということではなさそうです。
上記(#5さんへ)で書いたように、
正の無限小超実数を1つ選び、dx とおくことになると思います。
正の無限小超実数はたくさんありますが、
そのうちのどれを選んでも議論が成り立つと思います。

>> 「あらゆる正の実数 r に対して,|ε| < r が成り立つとき,εを無限小超実数と呼ぶ.
>> 注)ある実数 r に対して |ε| < r が成り立つとき,εを有限超実数と呼ぶ.」
>> は無限小超実数ならば有限超実数と解釈できるのですが私の解釈で間違いないでしょうか?

間違いないです。無限小超実数は0に無限に近い超実数のことですし、
有限超実数は有限の実数に無限に近い超実数になりますから、
無限小超実数の集合⊂有限超実数の集合 になります。

#2,#4です。

(#5さんへ)

>> いいえ、lim Δx=0(Δx→0)です。

門外漢ながら、
http://www.shinko-keirin.co.jp/kosu/mathematics/jissen/jissen18.html
に lim[Δx→+0]Δx = dx という記述があったので#4のような回答をしました。
しかし、これには私も疑問を感じます。
恐らく、下記の説明のほうがいいのではないかと思います。

正の無限小超実数を1つ選び、dx とおく。
すると、lim[x→+0] f(x) の極限値が存在するならば、
lim[x→+0] f(x) = st(f(dx)) が成り立つ。
(ここで、s...続きを読む

Qベッセル関数(変形ベッセル関数)

次の問題なのですが、(a)は出来たのですが、(b)のやり方が分かりません。

教えてください。

Aベストアンサー

ヒント通りにやればきわめて簡単。V(φ,z)は出ていますか。

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

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
な気がするのですが、確証が持てません。

ご教示お願いします。

Aベストアンサー

じっくりいきます.
まず次のように定義しています (ギリシア文字は面倒なので π 以外は全てラテン文字で):
z^a = exp [a (log |z| + i (arg z + 2kπ))], k ∈ Z.
(ii) の式は, ここでは全く出てきません.
この定義から z^a が一般には無限多価関数となることがわかるので, 他のところも無限多価関数を扱えるように拡張します:
log X = { log x | x ∈ X }
X Y = { xy | x ∈ X, y ∈ Y }
exp X = { exp x | x ∈ X }
ようするに「(無限) 多価なので集合として扱う」ってだけですが.
これだけ準備しておいて, 1^i を考えると z^a の定義から
1^i = exp i [log 1 + i (arg 1 + 2kπ)] = exp i (0 + 2kπ i) = exp -2kπ
となります.
ということで, 1^i 1^i は
1^i 1^i = (exp -2kπ) (exp -2lπ) = exp -2π(k + l)
と書けます (k, l ∈ Z). 注意してほしいのは, 2つの 1^i を計算するときに 1 の偏角として異なる値を使ってよいというところ. 一方 1^(i+i) = 1^(2i) は
1^(2i) = exp 2i [log 1 + i (arg 1 + 2kπ)] = exp 2i (0 + 2kπ i) = exp -4kπ
です. で 1^i 1^i と 1^(2i) が (集合として) 等しいかどうかというと, 前者では (k = 0, l = 1 とおくと) exp -2π という値が取れるのに対し後者では取ることができません. 従ってこの 2つは (集合として) 異なるということになります.
あと ±1 と (-1)^k の違いですが, ±1 では +1 と -1 のどちらの値を取ってもよいのに対し (-1)^k では (k の値に応じた) +1 あるいは -1 のいずれかしか取れないというところにあります.

じっくりいきます.
まず次のように定義しています (ギリシア文字は面倒なので π 以外は全てラテン文字で):
z^a = exp [a (log |z| + i (arg z + 2kπ))], k ∈ Z.
(ii) の式は, ここでは全く出てきません.
この定義から z^a が一般には無限多価関数となることがわかるので, 他のところも無限多価関数を扱えるように拡張します:
log X = { log x | x ∈ X }
X Y = { xy | x ∈ X, y ∈ Y }
exp X = { exp x | x ∈ X }
ようするに「(無限) 多価なので集合として扱う」ってだけですが.
これだけ準備しておいて, 1...続きを読む

Q複素数の複素数乗の定義の仕方は?

定義集を作っています。
集合や写像を定義してからN,Z,Q,R,Cの四則演算等や環や体を定義しました。
そして、e:=lim[t→0](1+t)^(1/t)をε-δで定義しました。
この後、累乗の定義をしようとしたのですが
後でいちいち定義の拡張をしなくていいように
複素数の複素数乗(z^w (z,w∈C))を一気に定義してしまおうと思っています。
先ずはz^wの定義は
z^w:=exp(log|z|+iArg(z)) (Arg(z)は0<arg(z)≦2π)
だと思いますが
logとargの定義をしてしまわねばなりません。
argは図を使わずに数式として定義は出来ないのでしょうか?
(図で定義するのなら先ず図とは何かを定義しなければなりませんよね)
そして、logはmap f:R→R;R∋∀x→f(x):=e^xの逆写像として定義されると思います。
然しながらここでe^xと累乗を使ってしまってます(累乗は未定義なのに)。
どうすればlogを累乗を避けて定義できますでしょうか?

Aベストアンサー

一般的な構成法としては、exp() とその逆関数の log() は個別に定義しておいて、

a ^ b = exp(b * log(a))

を使って定義するというのが自然ではないかなと思います。

exp(x) は、 1/(n!)x^n の無限和で定義できますし、log(x) はそれの逆関数としてしまっても良いかもしれません。

Q複素数での共役複素数の計算方法について

電気について勉強をしており、使用しているテキストの内容で
問題の解答にある式に変形出来ませんでした。

ご指導の程、よろしくお願いします。

テキストの解答
15 * jX / 15 + jX = 15X^2 + j15^2 / 15^2 + X^2

分母は共役複素数で
(15 + jX)*(15 - jX) となり
AC - BD+j (AD + BC) にて 15^2 + X^2
なると思うのですが、

分子に共役複素数の(15 - jX)を持って行ってからの
15 * jX ( 15 - jX ) の計算をどのようにすればいいかわからないです。
そもそも共役複素数を使うことが間違いなのでしょうか?

よろしくお願いします。

Aベストアンサー

分配法則で括弧を展開するだけですが…
模範回答にミスプリがあります。
たぶん、貴方の計算のほうが合っている
と思うので、補足に書いてみてください。


人気Q&Aランキング

おすすめ情報