Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > cmathライブラリ > CMathモジュール

module CMath

クラスの継承リスト: CMath < Math

要約

複素数演算をサポートするモジュールです。

Math モジュールの複素数版です。同名のメソッドを複素数対応します。 従来の計算結果が必要な場合は、「メソッド名!」の形式で呼び出します。

例:

require "cmath"
CMath.sqrt(-9)  # => (0+3.0i)
CMath.sqrt!(4)  # => 2.0

モジュール関数

acos(z) -> Float | Complex

z の逆余弦関数の値をラジアンで返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
acos!(x) -> Float

実数 x の逆余弦関数の値をラジアンで返します。Math.#acos のエイリ アスです。

[PARAM] x:
-1.0 <= x <= 1 の範囲内の実数
[RETURN]
返される値の範囲は [0, +π] です。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#acos

acosh(z) -> Float | Complex

z の逆双曲線余弦関数の値を返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
acosh!(x) -> Float

実数 x の逆双曲線余弦関数の値を返します。Math.#acosh のエイリアスです。

[PARAM] x:
x >= 1 の範囲の実数。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#acosh

asin(z) -> Float | Complex

z の逆正弦関数の値をラジアンで返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
asin!(x) -> Float

実数 x の逆正弦関数の値をラジアンで返します。Math.#asin のエイリ アスです。

[PARAM] x:
-1.0 <= x <= 1 の範囲内の実数。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#asin

asinh(z) -> Float | Complex

z の逆双曲線正弦関数の値を返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
asinh!(x) -> Float

実数 x の逆双曲線正弦関数の値を返します。Math.#asinh のエイリアスです。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#asinh

atan(z) -> Float | Complex

z の逆正接関数の値をラジアンで返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
atan!(x) -> Float

実数 x の逆正接関数の値をラジアンで返します。Math.#atan のエイリ アスです。

[PARAM] x:
実数。
[RETURN]
返される値の範囲は [-π/2, +π/2] です。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#atan

atan2(y, x) -> Float | Complex

y / x の逆正接関数の値を返します。

[PARAM] y:
数値
[PARAM] x:
数値
[EXCEPTION] TypeError:
引数のどちらかに数値以外を指定した場合に発生します。
atan2!(y, x) -> Float

実数 y / x の逆正接関数の値を返します。Math.#atan2 のエイリアスで す。

[PARAM] y:
実数。
[PARAM] x:
実数。
[RETURN]
返される値の範囲は [-π, π] です。
[EXCEPTION] TypeError:
引数のどちらかに数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
引数のどちらかに数値以外を指定した場合に発生します。

[SEE_ALSO] Math.#atan2

atanh(z) -> Float | Complex

z の逆双曲線正接関数の値を返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
atanh!(x) -> Float

実数 x の逆双曲線正接関数の値を返します。Math.#atanh のエイリアスです。

[PARAM] x:
-1 < x < 1 の実数。
[RETURN]
実数。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#atanh

cbrt(z) -> Float | Complex

z の立方根の内、主値を返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
require "cmath"
CMath.cbrt(-8)    # => (1.0000000000000002+1.7320508075688772i)

[SEE_ALSO] Complex#**

cbrt!(x) -> Float

実数 x の立方根を返します。Math.#cbrt のエイリアスです。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

例:

require "cmath"
CMath.cbrt!(8.0)  # => 2.0
CMath.cbrt!(-8.0) # => -2.0

[SEE_ALSO] Math.#cbrt

cos(z) -> Float | Complex

z の余弦関数の値をラジアンで返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
cos!(x) -> Float

実数 x の余弦関数の値をラジアンで返します。Math.#cos のエイリアス です。

[PARAM] x:
実数
[RETURN]
[-1, 1] の実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

例:

require "cmath"
CMath.cos!(0 * Math::PI / 4) # => 1.0
CMath.cos!(1 * Math::PI / 4) # => 0.7071067811865476
CMath.cos!(4 * Math::PI / 4) # => -1.0

[SEE_ALSO] Math.#cos

cosh(z) -> Float | Complex

z の双曲線余弦関数の値を返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
cosh!(x) -> Float

実数 x の双曲線余弦関数の値を返します。Math.#cosh のエイリアスで す。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#cosh

exp(z) -> Float | Complex

z の指数関数(Math::E の z 乗)の値を返します。

[PARAM] z:
Math::E を z 乗する数を指定します。
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。

例:

require "cmath"
CMath.exp(Complex(0, 0))              # => (1.0+0.0i)
CMath.exp(Complex(0, Math::PI))       # => (-1.0+1.2246063538223773e-16i)
CMath.exp(Complex(0, Math::PI / 2.0)) # => (6.123031769111886e-17+1.0i)
exp!(x) -> Float

実数 x の指数関数(Math::E の x 乗)の値を返します。 Math.#exp のエイリアスです。

[PARAM] x:
Math::E を x 乗する数を実数で指定します。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

例:

require "cmath"
CMath.exp!(0)   # => 1
CMath.exp!(0.5) # => Math.sqrt(Math::E)
CMath.exp!(1)   # => Math::E
CMath.exp!(2)   # => Math::E ** 2

[SEE_ALSO] Math.#exp

log(z) -> Float | Complex
log(z, b) -> Float | Complex

z の対数を返します。

[PARAM] z:
真数を指定します。
[PARAM] b:
底を指定します。省略した場合は自然対数を計算します。
[EXCEPTION] TypeError:
引数のどちらかに数値以外を指定した場合に発生します。

例:

require "cmath"
CMath.log(Complex(0, 0)) # => -Infinity+0.0i
CMath.log(0)             # => -Infinity
log!(x) -> Float
log!(x, b) -> Float

実数 x の対数を返します。Math.#log のエイリアスです。

[PARAM] x:
真数を正の実数で指定します。
[PARAM] b:
底を指定します。省略した場合は自然対数を計算します。
[EXCEPTION] Math::DomainError:
x が負の数である場合に発生します。
[EXCEPTION] TypeError:
引数のどちらかに数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
引数のどちらかに実数以外の数値を指定した場合に発生します。

例:

require "cmath"
CMath.log!(Math::E) # => 1.0
CMath.log!(1)       # => 0.0
CMath.log!(100, 10) # => 2.0
CMath.log!(-1.0)    # => Math::DomainError

[SEE_ALSO] Math.#log

log10(z) -> Float | Complex

x の常用対数を返します。

[PARAM] x:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
log10!(x) -> Float

実数 x の常用対数を返します。Math.#log10 のエイリアスです。

[PARAM] x:
真数を正の実数で指定します。
[EXCEPTION] Math::DomainError:
x が負の数である場合に発生します。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#log10

log2(z) -> Float | Complex

2 を底とする z の対数 (binary logarithm) を返します。

[PARAM] z:
真数を指定します。
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
log2!(x) -> Float

2 を底とする実数 x の対数 (binary logarithm) を返します。 Math.#log2のエイリアスです。

[PARAM] x:
真数を正の実数で指定します。
[EXCEPTION] Math::DomainError:
x が負の数である場合に発生します。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#log2

sin(z) -> Float | Complex

z の正弦関数の値をラジアンで返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
sin!(x) -> Float

実数 x の正弦関数の値をラジアンで返します。Math.#sin のエイリアス です。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

例:

require "cmath"
CMath.sin!(0 * Math::PI / 4) # => 0.0
CMath.sin!(1 * Math::PI / 4) # => 0.7071067811865475
CMath.sin!(2 * Math::PI / 4) # => 1.0

[SEE_ALSO] Math.#sin

sinh(z) -> Float | Complex

z の双曲線正弦関数の値を返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
sinh!(x) -> Float

実数 x の双曲線正弦関数の値を返します。Math.#sinh のエイリアスで す。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#sinh

sqrt(z) -> Float | Complex

z の平方根を返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。

例:

require "cmath"
CMath.sqrt(-1)               # => (0+1.0i)
CMath.sqrt(1)                # => 1.0
CMath.sqrt(Complex(0, 8))    # => (2.0+2.0i)
sqrt!(x) -> Float

実数 x の平方根を返します。Math.#sqrt のエイリアスです。

[PARAM] x:
正の実数
[EXCEPTION] Math::DomainError:
x が負の数である場合に発生します。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

例:

require "cmath"
CMath.sqrt!(4.0) # => 2.0
CMath.sqrt!(9.0) # => 3.0

[SEE_ALSO] Math.#sqrt

tan(z) -> Float | Complex

z の正接関数の値をラジアンで返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
tan!(x) -> Float

実数 x の正接関数の値をラジアンで返します。Math.#tan のエイリアス です。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

例:

require "cmath"
CMath.tan!(0 * Math::PI / 4) # => 0.0
CMath.tan!(1 * Math::PI / 4) # => 1.0
CMath.tan!(4 * Math::PI / 4) # => 0.0

[SEE_ALSO] Math.#tan

tanh(z) -> Float | Complex

z の双曲線正接関数の値を返します。

[PARAM] z:
数値
[EXCEPTION] TypeError:
z に数値以外を指定した場合に発生します。
tanh!(x) -> Float

実数 x の双曲線正接関数の値を返します。Math.#tanh のエイリアスで す。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#tanh

module CMath