Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library complex
library complex
要約
複素数を扱うためのライブラリです。
クラスとモジュール
class Complex | 複素数を扱うためのクラスです。 |
追加・再定義されるメソッド
Kernel#Complex(a, b)
[added by complex]-
実部が a 虚部が b である Complex オブジェクトを生成して返します。
- [PARAM] a:
- 実部を数値で指定します。
- [PARAM] b:
- 虚部を数値で指定します。
[SEE_ALSO] Complex
例:
p Complex(2,1) #=> (2+1i)
Math.#acos(z) -> Complex
[redefined by complex]-
複素関数としてのacos関数(逆cos関数)の結果を返します。
acos関数は以下で定義されます。
acos(z) = -i * log(z + i*sqrt(1-z*z))
- [PARAM] z:
- 複素数
Math.#acosh(z) -> Complex
[redefined by complex]-
複素関数としてのacosh関数(双曲逆cos関数)の結果を返します。
acosh関数は以下で定義されます。
acosh(z) = log(z + sqrt(z*z-1))
- [PARAM] z:
- 複素数
Math.#asin(z) -> Complex
[redefined by complex]-
複素関数としてのasin関数(逆sin関数)の結果を返します。
asin関数は以下で定義されます。
asin(z) = -i * log(i*z + sqrt(1-z*z))
- [PARAM] z:
- 複素数
Math.#asinh(z) -> Complex
[redefined by complex]-
複素関数としてのasinh関数(双曲逆sin関数)の結果を返します。
asinh関数は以下で定義されます。
asinh(z) = log(z + sqrt(z*z+1))
- [PARAM] z:
- 複素数
Math.#atan(z) -> Complex
[redefined by complex]-
複素関数としてのatan関数(逆tan関数)の結果を返します。
atan関数は以下で定義されます。
atan(z) = i/2 * log((i+z) / (i-z))
- [PARAM] z:
- 複素数
Math.#atan2(z) -> Complex
[redefined by complex]-
複素関数としてのatan2関数の結果を返します。
atan2関数は以下で定義されます。
atan2(y, x) = -i * log( (x + i * y) / sqrt( x*x + y*y ) )
- [PARAM] z:
- 複素数
Math.#atanh(z) -> Complex
[redefined by complex]-
複素関数としてのatanh関数(双曲逆tan関数)の結果を返します。
atanh関数は以下で定義されます。
atanh(z) = 1/2 * log((1+z) / (1-z))
- [PARAM] z:
- 複素数
Math.#cos(z) -> Complex
[redefined by complex]-
複素関数としてのcos関数の結果を返します。
cos関数は以下で定義されます。
cos(z) = (exp(i * z) + exp(-i * z)) / 2
- [PARAM] z:
- 複素数
Math.#cosh(z) -> Complex
[redefined by complex]-
複素関数としてのcosh関数(双曲線cos関数)の結果を返します。
cosh関数は以下で定義されます。
cosh(z) = (exp(z) + exp(-z)) / 2
- [PARAM] z:
- 複素数
Math.#exp(z) -> Complex
[redefined by complex]-
指数関数(自然対数 e の z 乗)を返します。
複素数 z = a + b *i に対する exp(z) の定義は以下です。
exp(z) = exp(a) * exp(i * b)
- [PARAM] z:
- 複素数
[注意]
虚部が 0 でも [[c:Complex]] クラスのオブジェクトであれば [[c:Complex]] クラスのオブジェクトを返すことに注意してください。 n = 2 z = Complex.new(2, 0) p Math.exp(n) #=> 7.38905609893065 p Math.exp(z) #=> Complex(7.38905609893065, 0.0)
Math.#log(z) -> Complex
[redefined by complex]-
複素数 z の自然対数を返します。
絶対値 r 偏角 theta の複素数 z に対する log(z) は以下で定義されます。
log(z) = log(r) + i * theta
- [PARAM] z:
- 複素数
[注意]
虚部が 0 でも [[c:Complex]] クラスのオブジェクトであれば [[c:Complex]] クラスのオブジェクトを返すことに注意してください。 n = 2 z = Complex.new(2, 0) p Math.log(n) #=> 0.693147180559945 p Math.log(z) #=> Complex(0.693147180559945, 0.0)
Math.#log10(z) -> Complex
[redefined by complex]-
複素数 z の常用対数を返します。
複素数 z に対する log10(z) は以下で定義されます。
log10(z) = log(z) / log(10)
- [PARAM] z:
- 複素数
[注意]
虚部が 0 でも [[c:Complex]] クラスのオブジェクトであれば [[c:Complex]] クラスのオブジェクトを返すことに注意してください。 n = 2 z = Complex.new(2, 0) p Math.log10(n) #=> 0.301029995663981 p Math.log10(z) #=> Complex(0.301029995663981, 0.0)
Math.#sin(z) -> Complex
[redefined by complex]-
複素関数としてのsin関数の結果を返します。
sin関数は以下で定義されます。
sin(z) = (exp(i * z) - exp(-i * z)) / 2
- [PARAM] z:
- 複素数
Math.#sinh(z) -> Complex
[redefined by complex]-
複素関数としてのsinh関数(双曲線sin関数)の結果を返します。
sinh関数は以下で定義されます。
sinh(z) = (exp(z) - exp(-z)) / 2
- [PARAM] z:
- 複素数
Math.#sqrt(z) -> Complex
[redefined by complex]-
z の平方根を返します。
複素関数としてのsqrt()の定義は以下です。
sqrt(z) = sqrt(r) * exp(i * t/2)
- [PARAM] z:
- 平方根を求める複素数
[注意]
虚部が 0 でも [[c:Complex]] クラスのオブジェクトであれば [[c:Complex]] クラスのオブジェクトを返すことに注意してください。 n = 2 z = Complex.new(2, 0) p Math.sqrt(n) #=> 1.4142135623731 p Math.sqrt(z) #=> Complex(1.4142135623731, 0.0)
Math.#tan(z) -> Complex
[redefined by complex]-
複素関数としてのtan関数の結果を返します。
tan関数は以下で定義されます。
tan(z) = sin(z) / cos(z)
- [PARAM] z:
- 複素数
Math.#tanh(z) -> Complex
[redefined by complex]-
複素関数としてのtanh関数(双曲線tan関数)の結果を返します。
tanh関数は以下で定義されます。
tanh(z) = sinh(z) / cosh(z)
- [PARAM] z:
- 複素数
Numeric#arg -> Fixnum | Float
[added by complex]-
複素数として見た場合の偏角を[-π,π]の範囲で返します。 非負なら0、負なら Math::PI を返します。
例:
n = 1000 f = -12.345 p n.arg #=> 0 p f.arg #=> 3.14159265358979
Numeric#conj -> self
[added by complex]Numeric#conjugate -> self
[added by complex]-
複素数として見た場合の共役を返します。 つまり、self が実数の場合はselfを返します。
Numeric#im -> Complex
[added by complex]-
実数に対し、純虚数化した Complex クラスのオブジェクトを返します。
例:
n = 100 p n.im #=> Complex(0, 100)
Numeric#image -> Fixnum
[added by complex]Numeric#imag -> Fixnum
[added by complex]-
複素数として見た場合の虚部を返します。 つまり、self が実数の場合は 0 を返します。
Numeric#real -> self
[added by complex]-
複素数として見た場合の実部を返します。 つまり、self が実数の場合はそのまま、selfを返します。