るりまサーチ (Ruby 2.5.0)

最速Rubyリファレンスマニュアル検索!
98件ヒット [1-98件を表示] (0.088秒)

別のキーワード

  1. _builtin complex
  2. complex rect
  3. complex polar
  4. kernel complex
  5. complex rationalize

ライブラリ

クラス

モジュール

キーワード

検索結果

Complex (114595.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#infinite? -> nil | 1 (99655.0)

実部と虚部のどちらも無限大ではない場合に nil を、そうでない場合に 1 を返します。

実部と虚部のどちらも無限大ではない場合に nil を、そうでない場合に 1 を返します。

//emlist[例][ruby]{
(1+1i).infinite? # => nil
(Float::INFINITY + 1i).infinite? # => 1
//}

@see Complex#finite?

Complex#inspect -> String (81799.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#denominator -> Integer (81709.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#fdiv(other) -> Complex (81694.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::I -> Complex (81655.0)

虚数単位です。(0+1i) を返します。

虚数単位です。(0+1i) を返します。

Complex#rationalize -> Rational (81637.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 (81637.0)

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差。常に無視されます。

@raise RangeError 虚部が実数か、0 ではない場合に発生します。

//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//}

Complex#to_i -> Integer (81412.0)

自身を整数に変換します。

自身を整数に変換します。

@raise RangeError 虚部が実数か、0 ではない場合に発生します。

//emlist[例][ruby]{
Complex(3).to_i # => 3
Complex(3.5).to_i # => 3
Complex(3, 2).to_i # => RangeError
//}

Complex#finite? -> bool (81355.0)

実部と虚部の両方が有限値の場合に true を、そうでない場合に false を返します。

実部と虚部の両方が有限値の場合に true を、そうでない場合に false を返します。

//emlist[例][ruby]{
(1 + 1i).finite? # => true
(Float::INFINITY + 1i).finite? # => false
//}

@see Complex#infinite?

絞り込み条件を変える

Complex#imag -> Numeric (81319.0)

自身の虚部を返します。

自身の虚部を返します。

//emlist[例][ruby]{
Complex(3, 2).imag # => 2
//}

@see Numeric#imag

Complex#imaginary -> Numeric (81319.0)

自身の虚部を返します。

自身の虚部を返します。

//emlist[例][ruby]{
Complex(3, 2).imag # => 2
//}

@see Numeric#imag

Complex#magnitude -> Numeric (72373.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#to_r -> Rational (72337.0)

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差。常に無視されます。

@raise RangeError 虚部が実数か、0 ではない場合に発生します。

//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//}

Complex.rect(r, i = 0) -> Complex (63853.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 (63853.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#coerce(other) -> [Complex, Complex] (63709.0)

other を Complex に変換して [変換後の other, self] の配列を返します。

other を Complex に変換して [変換後の other, self] の配列を返します。

@raise TypeError 変換できないオブジェクトを指定した場合に発生します。

//emlist[例][ruby]{
Complex(1).coerce(2) # => [(2+0i), (1+0i)]
//}

Complex#rect -> [Numeric, Numeric] (63655.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] (63655.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#polar -> [Numeric, Numeric] (63619.0)

自身の絶対値と偏角を配列にして返します。

自身の絶対値と偏角を配列にして返します。

//emlist[例][ruby]{
Complex.polar(1, 2).polar # => [1, 2]
//}

@see Numeric#polar

絞り込み条件を変える

Complex#to_s -> String (63547.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.polar(r, theta = 0) -> Complex (63460.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 (63430.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#numerator -> Complex (63412.0)

分子を返します。

分子を返します。

//emlist[例][ruby]{
Complex('1/2+2/3i').numerator # => (3+4i)
Complex(3).numerator # => (3+0i)
//}

@see Complex#denominator

Complex#/(other) -> Complex (63379.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 (63379.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#-@ -> Complex (63376.0)

自身の符号を反転させたものを返します。

自身の符号を反転させたものを返します。

//emlist[例][ruby]{
-Complex(1) # => (-1+0i)
-Complex(-1, 1) # => (1-1i)
//}

Complex#abs -> Numeric (63373.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 (63373.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#to_json(*args) -> String (63373.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.json_create(hash) -> Complex (63370.0)

JSON のオブジェクトから Complex のオブジェクトを生成して返します。

JSON のオブジェクトから Complex のオブジェクトを生成して返します。

@param hash 実部をキー 'r'、虚部をキー 'i' に持つハッシュを指定します。

Complex#**(other) -> Complex (63358.0)

冪(べき)乗を計算します。

冪(べき)乗を計算します。

@param other 自身を other 乗する数

//emlist[例][ruby]{
Complex('i') ** 2 # => (-1+0i)
//}

Complex#+(other) -> Complex (63358.0)

和を計算します。

和を計算します。

@param other 自身に足す数

//emlist[例][ruby]{
Complex(1, 2) + Complex(2, 3) # => (3+5i)
//}

Complex#-(other) -> Complex (63358.0)

差を計算します。

差を計算します。

@param other 自身から引く数

//emlist[例][ruby]{
Complex(1, 2) - Complex(2, 3) # => (-1-1i)
//}

Complex#conj -> Complex (63343.0)

自身の共役複素数を返します。

自身の共役複素数を返します。

//emlist[例][ruby]{
Complex(1, 2).conj # => (1-2i)
//}

絞り込み条件を変える

Complex#conjugate -> Complex (63343.0)

自身の共役複素数を返します。

自身の共役複素数を返します。

//emlist[例][ruby]{
Complex(1, 2).conj # => (1-2i)
//}

Complex#real -> Numeric (63319.0)

自身の実部を返します。

自身の実部を返します。

//emlist[例][ruby]{
Complex(3, 2).real # => 3
//}

Complex#between?(min, max) -> bool (63301.0)

@undef

@undef

Complex#to_c -> self (63073.0)

self を返します。

self を返します。

//emlist[例][ruby]{
Complex(2).to_c # => (2+0i)
Complex(-8, 6).to_c # => (-8+6i)
//}

Complex#real? -> false (63037.0)

常に false を返します。

常に false を返します。

//emlist[例][ruby]{
(2+3i).real? # => false
(2+0i).real? # => false
//}

@see Numeric#real?

絞り込み条件を変える

Kernel.#Complex(r, i = 0) -> Complex (55588.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 (55288.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') #...

Numeric#i -> Complex (54817.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)
//}

Numeric#infinite? -> nil (27667.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#fdiv(other) -> Float | Complex (18724.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...

絞り込み条件を変える

Kernel.#Rational(x, y = 1) -> Rational (18637.0)

引数を有理数(Rational)に変換した結果を返します。

引数を有理数(Rational)に変換した結果を返します。

@param x 変換対象のオブジェクトです。

@param y 変換対象のオブジェクトです。省略した場合は x だけを用いて
Rational オブジェクトを作成します。


@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。

引数 x、y の両方を指定した場合、x/y した Rational オブジェクトを
返します。

//emlist[例][ruby]{
Rational("1/3") # => (1/3)
Rational(1, 3) ...

Numeric#denominator -> Integer (18619.0)

自身を Rational に変換した時の分母を返します。

自身を Rational に変換した時の分母を返します。

@return 分母を返します。


@see Numeric#numerator、Integer#denominator、Float#denominator、Rational#denominator、Complex#denominator

CMath.#asin(z) -> Float | Complex (18604.0)

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

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

@param z 数値

@raise TypeError z に数値以外を指定した場合に発生します。

CMath.#asinh(z) -> Float | Complex (18604.0)

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

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

@param z 数値

@raise TypeError z に数値以外を指定した場合に発生します。

CMath.#sin(z) -> Float | Complex (18604.0)

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

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

@param z 数値(ラジアンで与えます)

@raise TypeError z に数値以外を指定した場合に発生します。

絞り込み条件を変える

CMath.#sinh(z) -> Float | Complex (18604.0)

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

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

@param z 数値

@raise TypeError z に数値以外を指定した場合に発生します。

Matrix#imag -> Matrix (18445.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 (18445.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
//}

Integer#fdiv(other) -> Numeric (18349.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 = {}) -> () (18337.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 = {}) -> () (18337.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 コピ...

Rational#fdiv(other) -> Float (18337.0)

self を other で割った商を Float で返します。 other に虚数を指定することは出来ません。

self を other で割った商を Float で返します。
other に虚数を指定することは出来ません。

@param other 自身を割る数

//emlist[例][ruby]{
Rational(2, 3).fdiv(1) # => 0.6666666666666666
Rational(2, 3).fdiv(0.5) # => 1.3333333333333333
Rational(2).fdiv(3) # => 0.6666666666666666

Rational(1).fdiv(Complex(1, 0)) # => 1.0
Rational(1)...

Enumerable#slice_before {|elt| bool } -> Enumerator (18319.0)

パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。

パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。

パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。

より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。

各チャンクは配列として表現されます。

Enumerable#to_a や Enumerable#map ...

Enumerable#slice_before(pattern) -> Enumerator (18319.0)

パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。

パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。

パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。

より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。

各チャンクは配列として表現されます。

Enumerable#to_a や Enumerable#map ...

Numeric#imag -> 0 (18319.0)

常に 0 を返します。

常に 0 を返します。

//emlist[例][ruby]{
12.imag # => 0
-12.imag # => 0
1.2.imag # => 0
-1.2.imag # => 0
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Numeric#real、Complex#imag

絞り込み条件を変える

Numeric#imaginary -> 0 (18319.0)

常に 0 を返します。

常に 0 を返します。

//emlist[例][ruby]{
12.imag # => 0
-12.imag # => 0
1.2.imag # => 0
-1.2.imag # => 0
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Numeric#real、Complex#imag

Vector#magnitude -> Float (18319.0)

ベクトルの大きさ(ノルム)を返します。

ベクトルの大きさ(ノルム)を返します。

//emlist[例][ruby]{
require 'matrix'
Vector[3, 4].norm # => 5.0
Vector[Complex(0, 1), 0].norm # => 1.0
//}

@see Vector#normalize

Numeric (18199.0)

数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。

数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。

演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれ...

matrix (18019.0)

行列と数ベクトルを扱うためのライブラリです。

行列と数ベクトルを扱うためのライブラリです。

行列、ベクトルの各要素には Ruby の任意の数オブジェクト(Numeric の
サブクラス、Float, Integer, Complex, Rational など)
が使えます。

String#to_c -> Complex (9802.0)

自身を複素数 (Complex) に変換した結果を返します。

自身を複素数 (Complex) に変換した結果を返します。

以下の形式を解析できます。i、j は大文字、小文字のどちらでも解析できます。

* 実部+虚部i
* 実部+虚部j
* 絶対値@偏角

それぞれの数値は以下のいずれかの形式で指定します。先頭の空白文字や複素
数値の後にある文字列は無視されます。また、数値オブジェクトと同様に各桁
の間に「_」を入れる事ができます。

* "1/3" のような分数の形式
* "0.3" のような10進数の形式
* "0.3E0" のような x.xEn の形式

自身が解析できない値であった場合は 0+0i を返します。

//emlis...

絞り込み条件を変える

Numeric#quo(other) -> Rational | Float | Complex (9694.0)

self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。

self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。

Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や Complex が関わるときはそれらのクラスになります。

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。


@param other 自身を割る数を指定します。

//emlist[例][ruby]{
1.quo(3)...

Numeric#polar -> [Numeric, Numeric] (9619.0)

自身の絶対値と偏角を配列にして返します。正の数なら [self, 0]、負の数な ら [-self, Math::PI] を返します。

自身の絶対値と偏角を配列にして返します。正の数なら [self, 0]、負の数な
ら [-self, Math::PI] を返します。

//emlist[例][ruby]{
1.0.polar # => [1.0, 0]
2.0.polar # => [2.0, 0]
-1.0.polar # => [1.0, 3.141592653589793]
-2.0.polar # => [2.0, 3.141592653589793]
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#polar

Numeric#rect -> [Numeric, Numeric] (9619.0)

[self, 0] を返します。

[self, 0] を返します。

//emlist[例][ruby]{
1.rect # => [1, 0]
-1.rect # => [-1, 0]
1.0.rect # => [1.0, 0]
-1.0.rect # => [-1.0, 0]
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#rect

Numeric#rectangular -> [Numeric, Numeric] (9619.0)

[self, 0] を返します。

[self, 0] を返します。

//emlist[例][ruby]{
1.rect # => [1, 0]
-1.rect # => [-1, 0]
1.0.rect # => [1.0, 0]
-1.0.rect # => [-1.0, 0]
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#rect

Matrix#tr -> Integer | Float | Rational | Complex (9607.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 (9607.0)

トレース (trace) を返します。

トレース (trace) を返します。

行列のトレース (trace) とは、対角要素の和です。

//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6], [3,9]].trace # => 16
//}

trace は正方行列でのみ定義されます。

@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します

Numeric#to_c -> Complex (9472.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 のサブクラスは、このメソッドを適切に再定義しなければなりません。

Matrix#conj -> Matrix (9445.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 (9445.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#real -> Matrix (9409.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
//}

絞り込み条件を変える

NilClass#to_c -> Complex (9370.0)

0+0i を返します。

0+0i を返します。

//emlist[例][ruby]{
nil.to_c # => (0+0i)
//}

Integer#/(other) -> Numeric (9355.0)

除算の算術演算子。

除算の算術演算子。

other が Integer の場合、整商(整数の商)を Integer で返します。
普通の商(剰余を考えない商)を越えない最大の整数をもって整商とします。

other が Float、Rational、Complex の場合、普通の商を other と
同じクラスのインスタンスで返します。

@param other 二項演算の右側の引数(対象)
@return 計算結果

//emlist[例][ruby]{
7 / 2 # => 3
7 / -2 # => -4
7 / 2.0 # => 3.5
7 / Rational(2, 1) # => (7/2)
7...

Numeric#conj -> Numeric (9337.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 (9337.0)

常に self を返します。

常に self を返します。

自身が Complex かそのサブクラスのインスタンスの場合は、自身の共役複素数(実数の場合は常に自身)を返します。

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。


//emlist[例][ruby]{
10.conj # => 10
0.1.conj # => 0.1
(2/3r).conj # => (2/3)
//}

@see Complex#conj

BigMath.#log(x, prec) -> BigDecimal (9319.0)

x の自然対数を prec で指定した精度で計算します。

x の自然対数を prec で指定した精度で計算します。

x に無限大を指定した場合は無限大を返します。NaN を指定した場合には NaN
を返します。

@param x 計算対象の数値を Integer、Float、
Rational、BigDecimal オブジェクトのいずれかで指定
します。

@param prec 計算結果の精度を指定します。

@raise Math::DomainError x に 0 以下の数値か Complex オブジェクト
が指定された場合に発生します。

@rais...

絞り込み条件を変える

Numeric#-@ -> Numeric (9319.0)

単項演算子の - です。 self の符号を反転させたものを返します。

単項演算子の - です。
self の符号を反転させたものを返します。

このメソッドは、二項演算子 - で 0 - self によって定義されています。


@see Integer#-@、Float#-@、Rational#-@、Complex#-@

Numeric#angle -> 0 | Math::PI (9319.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#arg

Numeric#arg -> 0 | Math::PI (9319.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#arg

Numeric#numerator -> Integer (9319.0)

自身を Rational に変換した時の分子を返します。

自身を Rational に変換した時の分子を返します。

@return 分子を返します。


@see Numeric#denominator、Integer#numerator、Float#numerator、Rational#numerator、Complex#numerator

Numeric#phase -> 0 | Math::PI (9319.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#arg

絞り込み条件を変える

Numeric#real -> Numeric (9319.0)

自身を返します。

自身を返します。

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

//emlist[例][ruby]{
10.real # => 10
-10.real # => -10
0.1.real # => 0.1
Rational(2, 3).real # => (2/3)
//}

@see Numeric#imag、Complex#real

Matrix#real? -> bool (9073.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
//}

Numeric#real? -> bool (9067.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?

Vector#norm -> Float (9019.0)

ベクトルの大きさ(ノルム)を返します。

ベクトルの大きさ(ノルム)を返します。

//emlist[例][ruby]{
require 'matrix'
Vector[3, 4].norm # => 5.0
Vector[Complex(0, 1), 0].norm # => 1.0
//}

@see Vector#normalize

Vector#r -> Float (9019.0)

ベクトルの大きさ(ノルム)を返します。

ベクトルの大きさ(ノルム)を返します。

//emlist[例][ruby]{
require 'matrix'
Vector[3, 4].norm # => 5.0
Vector[Complex(0, 1), 0].norm # => 1.0
//}

@see Vector#normalize

絞り込み条件を変える

1.6.8から1.8.0への変更点(まとめ) (1693.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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

CMath.#exp(z) -> Float | Complex (412.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...

CMath.#sqrt(z) -> Float | Complex (358.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)
//}

CMath.#log(z) -> Float | Complex (343.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 (343.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 (340.0)

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

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

@param z 数値

@raise TypeError z に数値以外を指定した場合に発生します。

//emlist[例][ruby]{
require "cmath"
CMath.cbrt(-8)# => (1.0000000000000002+1.7320508075688772i)
//}


@see Complex#**

NEWS for Ruby 2.1.0 (163.0)

NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.0.0 以降の変更

=== 言語仕様の変更

* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明示的に与えなければなりません。

* 整数や小数のリテラルの末尾に'r','i','...

Ruby用語集 (157.0)

Ruby用語集 A B C D E F G I J M N O R S Y

Ruby用語集
A B C D E F G I J M N O R S Y

a ka sa ta na ha ma ya ra wa

=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。

参照:d:spec/literal#percent

: 0 オリジン
: zero-based
番号が 0 から始まること。

例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。

: 1 オリジン
: one-based
...