けいじゅ@日本ラショナルソフトウェアです.

In [ruby-list :8657 ] the message: "[ruby-list:8657] sin(complex) ",
on Jul/09 12:37(JST) GOTO Kentaro writes:

>ごとけんです

>>  やっと http://www.rkmath.rikkyo.ac.jp/~kida/ubasic.htm
>>から UBASIC を落としてきて確認しました。
>
>UBASIC で検算ってのもなんか本質的ではないので ^^;;

確かにそうなんですが(^^;;;

割れながら実際に正しいかどうか分からなかったもので(^^;;;

# 実際間違っていたし(^^;;;;;;;;;;

>L.V.アルフォースの教科書「複素解析」(現代数学社)で定義だけ
>調べてみました。数学の表記法を使って書きます。

(以下略)

私も実際にこんな感じで計算したんですよ. でも, 色々と不安があって(^^;;;

In [ruby-list :8659 ] the message: "[ruby-list:8659] Re: sin(complex)
", on Jul/09 15:43(JST) Shin-ichro Hara writes:

>原です。

>|  cosh(x) = (exp(x)+exp(-x)) / 2 
>  sinh(x) = (exp(x)-exp(-x)) / 2

>かな。ついでに

>  exp(x + iy)= exp(x)(cos(y) + i sin(y))
>  cos(x + iy)= cos(x)cosh(y) - i sin(x)sinh(y)
>  sin(x + iy)= sin(x)cosh(y) + i cos(x)sinh(y)

なんてはっきりいっていただけると心強いですよね(^^;;;

In [ruby-list :8662 ] the message: "[ruby-list:8662] Re: sin(complex)
", on Jul/09 19:35(JST) GOTO Kentaro writes:

>ごとけんです

>ところで、Complex#** を考えるとき、
>数学的な定義によると、まず、exp の逆関数として
>log を定義し、
>
>  z**w = exp(w log(z))
>
>で与えられます。ここで、 log は無限個の値を持つ
>多価関数なので、 z**w も無限個の値を持つことに
>なります。で、一つの値(主値)を決めるんですが、
>この範囲はどんなライブラリに準拠するのが自然なん
>でしょうか? 
>FORTRAN あたりで標準化されてればそれに合わせるのが
>よいと思います。
>
>なお僕が自然だと思うのは、log(z) の虚部 arg(z) を
>libm の atan2(x,y) の範囲に合わせるとゆー、
>いまの complex.rb の仕様(?)と同じモノです。
>が、この atan2 の範囲は標準化されてるのでしょうか? 
># IEEE の浮動点小数演算の規格の解説がどっか行ってしまった ;_;

おぉ. でもきっと偶然ですね. 実は, 主値の問題は適当にやっているので... 

こうした方が良いということがあればいって下さい(__;;;

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju / rational.com <<---