ライブラリ
- ビルトイン (79)
- bigdecimal (1)
- cmath (20)
- fileutils (2)
-
json
/ add / complex (2) - mathn (2)
- matrix (11)
クラス
キーワード
- * (1)
- ** (1)
- + (1)
- - (1)
- -@ (2)
-
/ (1) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - < (1)
- <= (1)
- == (1)
- > (1)
- >= (1)
- I (1)
-
NEWS for Ruby 2
. 1 . 0 (1) -
NEWS for Ruby 2
. 2 . 0 (1) - Numeric (1)
- Rational (1)
- Ruby用語集 (1)
- abs (1)
- abs2 (1)
- acos (1)
- acosh (1)
- angle (2)
- arg (2)
- asin (1)
- asinh (1)
- atan (1)
- atan2 (1)
- atanh (1)
- between? (1)
- cbrt (1)
- clamp (1)
- coerce (1)
- conj (3)
- conjugate (3)
- copy (1)
- cos (1)
- cosh (1)
- cp (1)
- denominator (2)
- exp (1)
- fdiv (4)
- finite? (1)
- i (1)
- imag (3)
- imaginary (3)
- infinite? (2)
- inspect (1)
-
json
/ add / complex (1) -
json
_ create (1) - log (3)
- log10 (1)
- log2 (1)
- magnitude (2)
-
marshal
_ dump (1) - mathn (1)
- matrix (1)
- norm (1)
- numerator (2)
- phase (2)
- polar (3)
- quo (2)
- r (1)
- rationalize (2)
- real (3)
- real? (3)
- rect (3)
- rectangular (3)
- rsqrt (1)
- sin (1)
- sinh (1)
-
slice
_ before (2) - sqrt (2)
- tan (1)
- tanh (1)
-
to
_ c (4) -
to
_ f (1) -
to
_ i (1) -
to
_ json (1) -
to
_ r (1) -
to
_ s (1) - tr (1)
- trace (1)
検索結果
先頭5件
-
Complex (114271.0)
-
複素数を扱うクラスです。
複素数を扱うクラスです。
Complex オブジェクトを作成するには、Kernel.#Complex、
Complex.rect、Complex.polar、Numeric#to_c、
String#to_c のいずれかを使用します。
//emlist[Complex オブジェクトの作り方][ruby]{
Complex(1) # => (1+0i)
Complex(2, 3) # => (2+3i)
Complex.polar(2, 3) # => (-1.9799849932008908+0.2822400161197344i)
Complex(0.... -
Complex
# coerce(other) -> [Complex , Complex] (63673.0) -
other を Complex に変換して [変換後の other, self] の配列を返します。
other を Complex に変換して [変換後の other, self] の配列を返します。
@raise TypeError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1).coerce(2) # => [(2+0i), (1+0i)]
//} -
Complex
. rect(r , i = 0) -> Complex (63427.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
//emlist[例][ruby]{
Complex.rect(1) # => (1+0i)
Complex.rect(1, 2) # => (1+2i)
Complex.rectangular(1, 2) # => (1+2i)
//}
@see Kernel.#Complex -
Complex
. rectangular(r , i = 0) -> Complex (63427.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
//emlist[例][ruby]{
Complex.rect(1) # => (1+0i)
Complex.rect(1, 2) # => (1+2i)
Complex.rectangular(1, 2) # => (1+2i)
//}
@see Kernel.#Complex -
Complex
. polar(r , theta = 0) -> Complex (63406.0) -
絶対値が r、偏角が theta である Complex クラスのオブジェクトを生成します。
絶対値が r、偏角が theta である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の絶対値。
@param theta 生成する複素数の偏角。単位はラジアンです。省略した場合は 0 です。
//emlist[例][ruby]{
Complex.polar(2.0) # => (2.0+0.0i)
Complex.polar(2.0, 0) # => (2.0+0.0i)
Complex.polar(2.0, Math::PI) # => (-2.0+2.4492127076447545e-16i)
//... -
Complex
# *(other) -> Complex (63376.0) -
積を計算します。
積を計算します。
@param other 自身に掛ける数
//emlist[例][ruby]{
Complex(1, 2) * 2 # => (2+4i)
Complex(1, 2) * Complex(2, 3) # => (-4+7i)
Complex(1, 2) * Rational(1, 2) # => ((1/2)+(1/1)*i)
//} -
Complex
# fdiv(other) -> Complex (63358.0) -
self を other で割った商を返します。 実部と虚部が共に Float の値になります。
self を other で割った商を返します。
実部と虚部が共に Float の値になります。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(11, 22).fdiv(3) # => (3.6666666666666665+7.333333333333333i)
Complex(11, 22).quo(3) # => ((11/3)+(22/3)*i)
//}
@see Complex#quo -
Complex
# numerator -> Complex (63358.0) -
分子を返します。
分子を返します。
//emlist[例][ruby]{
Complex('1/2+2/3i').numerator # => (3+4i)
Complex(3).numerator # => (3+0i)
//}
@see Complex#denominator -
Complex
. json _ create(hash) -> Complex (63352.0) -
JSON のオブジェクトから Complex のオブジェクトを生成して返します。
JSON のオブジェクトから Complex のオブジェクトを生成して返します。
@param hash 実部をキー 'r'、虚部をキー 'i' に持つハッシュを指定します。 -
Complex
# / (other) -> Complex (63343.0) -
商を計算します。
商を計算します。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(10.0) / 3 # => (3.3333333333333335+(0/1)*i)
Complex(10) / 3 # => ((10/3)+(0/1)*i)
//}
@see Numeric#quo -
Complex
# quo(other) -> Complex (63343.0) -
商を計算します。
商を計算します。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(10.0) / 3 # => (3.3333333333333335+(0/1)*i)
Complex(10) / 3 # => ((10/3)+(0/1)*i)
//}
@see Numeric#quo -
Complex
# +(other) -> Complex (63340.0) -
和を計算します。
和を計算します。
@param other 自身に足す数
//emlist[例][ruby]{
Complex(1, 2) + Complex(2, 3) # => (3+5i)
//} -
Complex
# -(other) -> Complex (63340.0) -
差を計算します。
差を計算します。
@param other 自身から引く数
//emlist[例][ruby]{
Complex(1, 2) - Complex(2, 3) # => (-1-1i)
//} -
Complex
# -@ -> Complex (63340.0) -
自身の符号を反転させたものを返します。
自身の符号を反転させたものを返します。
//emlist[例][ruby]{
-Complex(1) # => (-1+0i)
-Complex(-1, 1) # => (1-1i)
//} -
Complex
# conj -> Complex (63325.0) -
自身の共役複素数を返します。
自身の共役複素数を返します。
//emlist[例][ruby]{
Complex(1, 2).conj # => (1-2i)
//} -
Complex
# conjugate -> Complex (63325.0) -
自身の共役複素数を返します。
自身の共役複素数を返します。
//emlist[例][ruby]{
Complex(1, 2).conj # => (1-2i)
//} -
Complex
# **(other) -> Complex (63322.0) -
冪(べき)乗を計算します。
冪(べき)乗を計算します。
@param other 自身を other 乗する数
//emlist[例][ruby]{
Complex('i') ** 2 # => (-1+0i)
//} -
Complex
:: I -> Complex (63304.0) -
虚数単位です。(0+1i) を返します。
虚数単位です。(0+1i) を返します。 -
Complex
# angle -> Float (63145.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Complex
# arg -> Float (63145.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Complex
# phase -> Float (63145.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Complex
# ==(other) -> bool (63091.0) -
数値として等しいか判定します。
数値として等しいか判定します。
@param other 自身と比較する数値
//emlist[例][ruby]{
Complex(2, 1) == Complex(1) # => false
Complex(1, 0) == Complex(1) # => true
Complex(1, 0) == 1 # => true
//} -
Complex
# inspect -> String (63091.0) -
自身を人間が読みやすい形の文字列表現にして返します。
自身を人間が読みやすい形の文字列表現にして返します。
//emlist[例][ruby]{
Complex(2).inspect # => "(2+0i)"
Complex('-8/6').inspect # => "((-4/3)+0i)"
Complex('1/2i').inspect # => "(0+(1/2)*i)"
Complex(0, Float::INFINITY).inspect # => "(0+Infinity*i)"
Complex(Float:... -
Complex
# to _ s -> String (63091.0) -
自身を "実部 + 虚部i" 形式の文字列にして返します。
自身を "実部 + 虚部i" 形式の文字列にして返します。
//emlist[例][ruby]{
Complex(2).to_s # => "2+0i"
Complex('-8/6').to_s # => "-4/3+0i"
Complex('1/2i').to_s # => "0+1/2i"
Complex(0, Float::INFINITY).to_s # => "0+Infinity*i"
Complex(Float::NAN, Float::NAN).to_s... -
Complex
# marshal _ dump -> Array (63085.0) -
Marshal.#load のためのメソッドです。 Complex::compatible#marshal_load で復元可能な配列を返します。
Marshal.#load のためのメソッドです。
Complex::compatible#marshal_load で復元可能な配列を返します。
2.0 以降では Marshal.#load で 1.8 系の Complex オブジェクト
を保存した文字列も復元できます。
[注意] Complex::compatible は通常の方法では参照する事ができません。 -
Complex
# abs -> Numeric (63073.0) -
自身の絶対値を返します。
自身の絶対値を返します。
以下の計算の結果を Float オブジェクトで返します。
sqrt(self.real ** 2 + self.imag ** 2)
//emlist[例][ruby]{
Complex(1, 2).abs # => 2.23606797749979
Complex(3, 4).abs # => 5.0
Complex('1/2', '1/2').abs # => 0.7071067811865476
//}
@see Complex#abs2 -
Complex
# abs2 -> Numeric (63073.0) -
自身の絶対値の 2 乗を返します。
自身の絶対値の 2 乗を返します。
以下の計算の結果を返します。
self.real ** 2 + self.imag ** 2
//emlist[例][ruby]{
Complex(1, 1).abs2 # => 2
Complex(1.0, 1.0).abs2 # => 2.0
Complex('1/2', '1/2').abs2 # => (1/2)
//}
@see Complex#abs -
Complex
# magnitude -> Numeric (63073.0) -
自身の絶対値を返します。
自身の絶対値を返します。
以下の計算の結果を Float オブジェクトで返します。
sqrt(self.real ** 2 + self.imag ** 2)
//emlist[例][ruby]{
Complex(1, 2).abs # => 2.23606797749979
Complex(3, 4).abs # => 5.0
Complex('1/2', '1/2').abs # => 0.7071067811865476
//}
@see Complex#abs2 -
Complex
# denominator -> Integer (63055.0) -
分母を返します。
分母を返します。
以下のように、実部と虚部の分母の最小公倍数を整数で返します。
1 2 3+4i <- numerator(分子)
- + -i -> ----
2 3 6 <- denominator(分母)
//emlist[例][ruby]{
Complex('1/2+2/3i').denominator # => 6
Complex(3).numerator # => 1
//}
@see Complex#numerator -
Complex
# rect -> [Numeric , Numeric] (63055.0) -
実部と虚部を配列にして返します。
実部と虚部を配列にして返します。
//emlist[例][ruby]{
Complex(3).rect # => [3, 0]
Complex(3.5).rect # => [3.5, 0]
Complex(3, 2).rect # => [3, 2]
//}
@see Numeric#rect -
Complex
# rectangular -> [Numeric , Numeric] (63055.0) -
実部と虚部を配列にして返します。
実部と虚部を配列にして返します。
//emlist[例][ruby]{
Complex(3).rect # => [3, 0]
Complex(3.5).rect # => [3.5, 0]
Complex(3, 2).rect # => [3, 2]
//}
@see Numeric#rect -
Complex
# to _ f -> Float (63055.0) -
自身を Float に変換します。
自身を Float に変換します。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_f # => 3.0
Complex(3.5).to_f # => 3.5
Complex(3, 2).to_f # => RangeError
//} -
Complex
# to _ i -> Integer (63055.0) -
自身を整数に変換します。
自身を整数に変換します。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_i # => 3
Complex(3.5).to_i # => 3
Complex(3, 2).to_i # => RangeError
//} -
Complex
# to _ json(*args) -> String (63055.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 使用しません。
//emlist[例][ruby]{
require 'json/add/complex'
Complex(2, 3).to_json # => "{\"json_class\":\"Complex\",\"r\":2,\"i\":3}"
//}
@see JSON::Generator::GeneratorMethods::Hash... -
Complex
# rationalize -> Rational (63037.0) -
自身を Rational に変換します。
自身を Rational に変換します。
@param eps 許容する誤差。常に無視されます。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//} -
Complex
# rationalize(eps) -> Rational (63037.0) -
自身を Rational に変換します。
自身を Rational に変換します。
@param eps 許容する誤差。常に無視されます。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//} -
Complex
# to _ c -> self (63037.0) -
self を返します。
self を返します。
//emlist[例][ruby]{
Complex(2).to_c # => (2+0i)
Complex(-8, 6).to_c # => (-8+6i)
//} -
Complex
# to _ r -> Rational (63037.0) -
自身を Rational に変換します。
自身を Rational に変換します。
@param eps 許容する誤差。常に無視されます。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//} -
Complex
# finite? -> bool (63019.0) -
自身の絶対値が有限値の場合に true を、そうでない場合に false を返します。
自身の絶対値が有限値の場合に true を、そうでない場合に false を返します。
//emlist[例][ruby]{
(1 + 1i).finite? # => true
(Float::INFINITY + 1i).finite? # => false
//}
@see Complex#infinite? -
Complex
# imag -> Numeric (63019.0) -
自身の虚部を返します。
自身の虚部を返します。
//emlist[例][ruby]{
Complex(3, 2).imag # => 2
//}
@see Numeric#imag -
Complex
# imaginary -> Numeric (63019.0) -
自身の虚部を返します。
自身の虚部を返します。
//emlist[例][ruby]{
Complex(3, 2).imag # => 2
//}
@see Numeric#imag -
Complex
# infinite? -> nil | 1 (63019.0) -
自身の絶対値が無限大の場合に1を、そうでない場合に nil を返します。
自身の絶対値が無限大の場合に1を、そうでない場合に nil を返します。
//emlist[例][ruby]{
(1+1i).infinite? # => nil
(Float::INFINITY + 1i).infinite? # => 1
//}
@see Complex#finite? -
Complex
# polar -> [Numeric , Numeric] (63019.0) -
自身の絶対値と偏角を配列にして返します。
自身の絶対値と偏角を配列にして返します。
//emlist[例][ruby]{
Complex.polar(1, 2).polar # => [1, 2]
//}
@see Numeric#polar -
Complex
# real -> Numeric (63019.0) -
自身の実部を返します。
自身の実部を返します。
//emlist[例][ruby]{
Complex(3, 2).real # => 3
//} -
Complex
# <(other) -> bool (63001.0) -
@undef
@undef -
Complex
# <=(other) -> bool (63001.0) -
@undef
@undef -
Complex
# >(other) -> bool (63001.0) -
@undef
@undef -
Complex
# >=(other) -> bool (63001.0) -
@undef
@undef -
Complex
# between?(min , max) -> bool (63001.0) -
@undef
@undef -
Complex
# clamp(range) -> object (63001.0) -
@undef
@undef -
Complex
# real? -> false (63001.0) -
常に false を返します。
常に false を返します。
//emlist[例][ruby]{
(2+3i).real? # => false
(2+0i).real? # => false
//}
@see Numeric#real? -
Kernel
. # Complex(r , i = 0) -> Complex (54967.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
@param s 生成する複素数を表す文字列。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1) # => (1+0i)
Complex(1, 2) # => (1+2i)
Complex('1+1i') # => (1+1i)
Complex('1+1j') #... -
Kernel
. # Complex(s) -> Complex (54967.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
@param s 生成する複素数を表す文字列。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1) # => (1+0i)
Complex(1, 2) # => (1+2i)
Complex('1+1i') # => (1+1i)
Complex('1+1j') #... -
json
/ add / complex (18049.0) -
Complex に JSON 形式の文字列に変換するメソッドや JSON 形式の文字列から Ruby のオブジェクトに変換するメソッドを定義します。
Complex に JSON 形式の文字列に変換するメソッドや JSON 形式の文字列から Ruby のオブジェクトに変換するメソッドを定義します。 -
Numeric
# to _ c -> Complex (400.0) -
自身を複素数 (Complex) に変換します。Complex(self, 0) を返します。
自身を複素数 (Complex) に変換します。Complex(self, 0) を返します。
//emlist[例][ruby]{
1.to_c # => (1+0i)
-1.to_c # => (-1+0i)
1.0.to_c # => (1.0+0i)
Rational(1, 2).to_c # => ((1/2)+0i)
//}
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。 -
Numeric
# fdiv(other) -> Float | Complex (388.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.fdiv(3) #=> 0.3333333333333333
Complex(1, 1).fdiv 1 #=> (1.0+1.0i)
1.fdiv Complex(1, 1) #=> (0.5-0.5i)
//}
@see Num... -
Numeric
# i -> Complex (370.0) -
Complex(0, self) を返します。
Complex(0, self) を返します。
ただし、Complex オブジェクトでは利用できません。
//emlist[例][ruby]{
10.i # => (0+10i)
-10.i # => (0-10i)
(0.1).i # => (0+0.1i)
Rational(1, 2).i # => (0+(1/2)*i)
//} -
CMath
. # exp(z) -> Float | Complex (358.0) -
z の指数関数(Math::E の z 乗)の値を返します。
z の指数関数(Math::E の z 乗)の値を返します。
@param z Math::E を z 乗する数を指定します。
@raise TypeError z に数値以外を指定した場合に発生します。
//emlist[例][ruby]{
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.1230... -
Numeric
# quo(other) -> Rational | Float | Complex (358.0) -
self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。
self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。
Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や Complex が関わるときはそれらのクラスになります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.quo(3)... -
String
# to _ c -> Complex (352.0) -
自身を複素数 (Complex) に変換した結果を返します。
自身を複素数 (Complex) に変換した結果を返します。
以下の形式を解析できます。i、j は大文字、小文字のどちらでも解析できます。
* 実部+虚部i
* 実部+虚部j
* 絶対値@偏角
それぞれの数値は以下のいずれかの形式で指定します。先頭の空白文字や複素
数値の後にある文字列は無視されます。また、数値オブジェクトと同様に各桁
の間に「_」を入れる事ができます。
* "1/3" のような分数の形式
* "0.3" のような10進数の形式
* "0.3E0" のような x.xEn の形式
自身が解析できない値であった場合は 0+0i を返します。
//emlis... -
CMath
. # log(z) -> Float | Complex (325.0) -
z の対数を返します。
z の対数を返します。
@param z 真数を指定します。
@param b 底を指定します。省略した場合は自然対数を計算します。
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.log(Complex(0, 0)) # => -Infinity+0.0i
CMath.log(0) # => -Infinity
//} -
CMath
. # log(z , b) -> Float | Complex (325.0) -
z の対数を返します。
z の対数を返します。
@param z 真数を指定します。
@param b 底を指定します。省略した場合は自然対数を計算します。
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.log(Complex(0, 0)) # => -Infinity+0.0i
CMath.log(0) # => -Infinity
//} -
CMath
. # cbrt(z) -> Float | Complex (322.0) -
z の立方根の内、主値を返します。
z の立方根の内、主値を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.cbrt(-8)# => (1.0000000000000002+1.7320508075688772i)
//}
@see Complex#** -
CMath
. # sqrt(z) -> Float | Complex (322.0) -
z の平方根を返します。
z の平方根を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.sqrt(-1) # => (0+1.0i)
CMath.sqrt(1)# => 1.0
CMath.sqrt(Complex(0, 8))# => (2.0+2.0i)
//} -
Matrix
# tr -> Integer | Float | Rational | Complex (307.0) -
トレース (trace) を返します。
トレース (trace) を返します。
行列のトレース (trace) とは、対角要素の和です。
//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6], [3,9]].trace # => 16
//}
trace は正方行列でのみ定義されます。
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します -
Matrix
# trace -> Integer | Float | Rational | Complex (307.0) -
トレース (trace) を返します。
トレース (trace) を返します。
行列のトレース (trace) とは、対角要素の和です。
//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6], [3,9]].trace # => 16
//}
trace は正方行列でのみ定義されます。
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します -
CMath
. # acos(z) -> Float | Complex (304.0) -
z の逆余弦関数の値をラジアンで返します。
z の逆余弦関数の値をラジアンで返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # acosh(z) -> Float | Complex (304.0) -
z の逆双曲線余弦関数の値を返します。
z の逆双曲線余弦関数の値を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # asin(z) -> Float | Complex (304.0) -
z の逆正弦関数の値をラジアンで返します。
z の逆正弦関数の値をラジアンで返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # asinh(z) -> Float | Complex (304.0) -
z の逆双曲線正弦関数の値を返します。
z の逆双曲線正弦関数の値を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # atan(z) -> Float | Complex (304.0) -
z の逆正接関数の値をラジアンで返します。
z の逆正接関数の値をラジアンで返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # atan2(y , x) -> Float | Complex (304.0) -
y / x の逆正接関数の値を返します。
y / x の逆正接関数の値を返します。
@param y 数値
@param x 数値
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。 -
CMath
. # atanh(z) -> Float | Complex (304.0) -
z の逆双曲線正接関数の値を返します。
z の逆双曲線正接関数の値を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # cos(z) -> Float | Complex (304.0) -
z の余弦関数の値を返します。
z の余弦関数の値を返します。
@param z 数値(ラジアンで与えます)
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # cosh(z) -> Float | Complex (304.0) -
z の双曲線余弦関数の値を返します。
z の双曲線余弦関数の値を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # log10(z) -> Float | Complex (304.0) -
z の常用対数を返します。
z の常用対数を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # log2(z) -> Float | Complex (304.0) -
2 を底とする z の対数 (binary logarithm) を返します。
2 を底とする z の対数 (binary logarithm) を返します。
@param z 真数を指定します。
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # sin(z) -> Float | Complex (304.0) -
z の正弦関数の値を返します。
z の正弦関数の値を返します。
@param z 数値(ラジアンで与えます)
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # sinh(z) -> Float | Complex (304.0) -
z の双曲線正弦関数の値を返します。
z の双曲線正弦関数の値を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # tan(z) -> Float | Complex (304.0) -
z の正接関数の値を返します。
z の正接関数の値を返します。
@param z 数値(ラジアンで与えます)
@raise TypeError z に数値以外を指定した場合に発生します。 -
CMath
. # tanh(z) -> Float | Complex (304.0) -
z の双曲線正接関数の値を返します。
z の双曲線正接関数の値を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。 -
NilClass
# to _ c -> Complex (304.0) -
0+0i を返します。
0+0i を返します。
//emlist[例][ruby]{
nil.to_c # => (0+0i)
//} -
Numeric (163.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれ... -
mathn (157.0)
-
Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
なお、このライブラリはRuby 2.2から非推奨(deprecated)になり、Ruby 2.5で削除されました。
引き続き利用するには mathn gem をインストールしてください。
* 整数の除算が割り切れない場合、 Rational オブジェクトを返すようになります。
* 複素数や有理数の演算結果が実数や整数に収まる場合、 Float オブジェクトや Integer オブジェクトを返します。
* Math モジュールの数学関数の定義域と終... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (73.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
Matrix
# conj -> Matrix (73.0) -
複素共役を取った行列を返します。
複素共役を取った行列を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]]
# => 1+2i i 0
# 1 2 3
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]].conjugate
# => 1-2i -i 0
# 1 2 3
//} -
Matrix
# conjugate -> Matrix (73.0) -
複素共役を取った行列を返します。
複素共役を取った行列を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]]
# => 1+2i i 0
# 1 2 3
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]].conjugate
# => 1-2i -i 0
# 1 2 3
//} -
Matrix
# imag -> Matrix (73.0) -
行列の虚部を返します。
行列の虚部を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]]
# => 1+2i i 0
# 1 2 3
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]].imaginary
# => 2i i 0
# 0 0 0
//} -
Matrix
# imaginary -> Matrix (73.0) -
行列の虚部を返します。
行列の虚部を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]]
# => 1+2i i 0
# 1 2 3
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]].imaginary
# => 2i i 0
# 0 0 0
//} -
Matrix
# real -> Matrix (73.0) -
行列の実部を返します。
行列の実部を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]]
# => 1+2i i 0
# 1 2 3
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]].real
# => 1 0 0
# 1 2 3
//} -
Matrix
# real? -> bool (73.0) -
行列の全要素が実(Numeric#real?)であれば true を返します。
行列の全要素が実(Numeric#real?)であれば true を返します。
Complexオブジェクトを要素に持つ場合は虚部が0でも偽を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[1, 0], [0, 1]].real? # => true
Matrix[[Complex(0, 1), 0], [0, 1]].real? # => false
# 要素が実数であっても Complex オブジェクトなら偽を返す。
Matrix[[Complex(1, 0), 0], [0, 1]].real? # => false
//} -
NEWS for Ruby 2
. 1 . 0 (73.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.0.0 以降の変更
=== 言語仕様の変更
* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明示的に与えなければなりません。
* 整数や小数のリテラルの末尾に'r','i','... -
Numeric
# infinite? -> nil (67.0) -
常に nil を返します。 自身が Float かComplex、もしくはそのサブクラスのインスタンスの場合は、self の絶対値が負の無限大の場合に-1を、正の無限大の場合に1を、有限値の場合に nil を返します。
常に nil を返します。
自身が Float かComplex、もしくはそのサブクラスのインスタンスの場合は、self の絶対値が負の無限大の場合に-1を、正の無限大の場合に1を、有限値の場合に nil を返します。
//emlist[例][ruby]{
10.infinite? # => nil
(3r).infinite? # => nil
//}
@see Numeric#finite?、Float#infinite?、Complex#infinite? -
Numeric
# real? -> bool (67.0) -
常に true を返します。(Complex またはそのサブクラスではないことを意味します。)
常に true を返します。(Complex またはそのサブクラスではないことを意味します。)
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
//emlist[例][ruby]{
10.real? # => true
-10.real? # => true
0.1.real? # => true
Rational(2, 3).real? # => true
//}
@see Numeric#integer?、Complex#real? -
Math
. # sqrt(a) -> Numeric (55.0) -
@todo
@todo
a の正の平方根を返します。
a が Complex の時は、Complex を返します。
a が負の時は、a を正にして、その平方根を Complex の虚数部に入れて返します。
それ以外は、Math.rsqrt の結果を返します。 -
Integer
# fdiv(other) -> Numeric (49.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
@param other self を割る数を指定します。
例:
654321.fdiv(13731) # => 47.652829364212366
654321.fdiv(13731.24) # => 47.65199646936475
-1234567890987654321.fdiv(13731) # => -89910996357705.52
-1234567890987654... -
FileUtils
. # copy(src , dest , options = {}) -> () (37.0) -
ファイル src を dest にコピーします。
ファイル src を dest にコピーします。
src にファイルが一つだけ与えられた場合、
dest がディレクトリならdest/src にコピーします。
dest が既に存在ししかもディレクトリでないときは上書きします。
src にファイルが複数与えられた場合、
file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、
というように、ディレクトリ dest の中にファイル file1、file2、 …を
同じ名前でコピーします。dest がディレクトリでない場合は例外
Errno::ENOTDIR が発生します。
@param src コピ... -
FileUtils
. # cp(src , dest , options = {}) -> () (37.0) -
ファイル src を dest にコピーします。
ファイル src を dest にコピーします。
src にファイルが一つだけ与えられた場合、
dest がディレクトリならdest/src にコピーします。
dest が既に存在ししかもディレクトリでないときは上書きします。
src にファイルが複数与えられた場合、
file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、
というように、ディレクトリ dest の中にファイル file1、file2、 …を
同じ名前でコピーします。dest がディレクトリでない場合は例外
Errno::ENOTDIR が発生します。
@param src コピ... -
Numeric
# conj -> Numeric (37.0) -
常に self を返します。
常に self を返します。
自身が Complex かそのサブクラスのインスタンスの場合は、自身の共役複素数(実数の場合は常に自身)を返します。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
//emlist[例][ruby]{
10.conj # => 10
0.1.conj # => 0.1
(2/3r).conj # => (2/3)
//}
@see Complex#conj -
Numeric
# conjugate -> Numeric (37.0) -
常に self を返します。
常に self を返します。
自身が Complex かそのサブクラスのインスタンスの場合は、自身の共役複素数(実数の場合は常に自身)を返します。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
//emlist[例][ruby]{
10.conj # => 10
0.1.conj # => 0.1
(2/3r).conj # => (2/3)
//}
@see Complex#conj