種類
- インスタンスメソッド (29)
- モジュール関数 (3)
- 特異メソッド (2)
- ライブラリ (2)
- クラス (1)
ライブラリ
- ビルトイン (22)
- bigdecimal (2)
- mathn (1)
- matrix (10)
キーワード
- * (1)
- ** (1)
- + (1)
- - (1)
-
/ (1) - cofactor (1)
-
cofactor
_ expansion (1) - denominator (2)
- det (1)
-
det
_ e (1) - determinant (1)
-
determinant
_ e (1) - exp (1)
- fdiv (1)
-
laplace
_ expansion (1) - log (1)
- mathn (1)
- matrix (1)
- numerator (2)
- quo (2)
- rand (3)
- rank (1)
- rationalize (2)
- rsqrt (1)
-
to
_ f (1) -
to
_ r (1) - tr (1)
- trace (1)
検索結果
先頭5件
-
Rational (132199.0)
-
有理数を扱うクラスです。
有理数を扱うクラスです。
「1/3」のような有理数を扱う事ができます。Integer や Float
と同様に Rational.new ではなく、 Kernel.#Rational を使用して
Rational オブジェクトを作成します。
//emlist[例][ruby]{
Rational(1, 3) # => (1/3)
Rational('1/3') # => (1/3)
Rational('0.33') # => (33/100)
Rational.new(1, 3) # => NoMethodError
//}
Rational オブジェク... -
Float
# rationalize -> Rational (109273.0) -
自身から eps で指定した許容誤差の範囲に収まるような Rational を返 します。
自身から eps で指定した許容誤差の範囲に収まるような Rational を返
します。
eps を省略した場合は誤差が最も小さくなるような Rational を返しま
す。
@param eps 許容する誤差
//emlist[例][ruby]{
0.3.rationalize # => (3/10)
1.333.rationalize # => (1333/1000)
1.333.rationalize(0.01) # => (4/3)
//} -
Float
# rationalize(eps) -> Rational (109273.0) -
自身から eps で指定した許容誤差の範囲に収まるような Rational を返 します。
自身から eps で指定した許容誤差の範囲に収まるような Rational を返
します。
eps を省略した場合は誤差が最も小さくなるような Rational を返しま
す。
@param eps 許容する誤差
//emlist[例][ruby]{
0.3.rationalize # => (3/10)
1.333.rationalize # => (1333/1000)
1.333.rationalize(0.01) # => (4/3)
//} -
Float
# denominator -> Integer (90367.0) -
自身を Rational に変換した時の分母を返します。
自身を Rational に変換した時の分母を返します。
@return 分母を返します。
//emlist[例][ruby]{
2.0.denominator # => 1
0.5.denominator # => 2
//}
@see Float#numerator -
Float
# numerator -> Integer (90367.0) -
自身を Rational に変換した時の分子を返します。
自身を Rational に変換した時の分子を返します。
@return 分子を返します。
//emlist[例][ruby]{
2.0.numerator # => 2
0.5.numerator # => 1
//}
@see Float#denominator -
Rational
# **(other) -> Rational | Float (73315.0) -
冪(べき)乗を計算します。
冪(べき)乗を計算します。
@param other 自身を other 乗する数
other に Float を指定した場合は、計算結果を Float で返しま
す。other が有理数であっても、計算結果が無理数だった場合は Float
を返します。
//emlist[例][ruby]{
r = Rational(3, 4)
r ** Rational(2, 1) # => (9/16)
r ** 2 # => (9/16)
r ** 2.0 # => 0.5625
r ** Rational(1, 2) # => 0.866... -
Rational
# / (other) -> Rational | Float (73285.0) -
商を計算します。
商を計算します。
@param other 自身を割る数
other に Float を指定した場合は、計算結果を Float で返します。
//emlist[例][ruby]{
r = Rational(3, 4)
r / 2 # => (3/8)
r / 2.0 # => 0.375
r / 0.5 # => 1.5
r / Rational(1, 2) # => (3/2)
r / 0 # => ZeroDivisionError
//}
@raise ZeroD... -
Rational
# quo(other) -> Rational | Float (73285.0) -
商を計算します。
商を計算します。
@param other 自身を割る数
other に Float を指定した場合は、計算結果を Float で返します。
//emlist[例][ruby]{
r = Rational(3, 4)
r / 2 # => (3/8)
r / 2.0 # => 0.375
r / 0.5 # => 1.5
r / Rational(1, 2) # => (3/2)
r / 0 # => ZeroDivisionError
//}
@raise ZeroD... -
Rational
# *(other) -> Rational | Float (73279.0) -
積を計算します。
積を計算します。
@param other 自身に掛ける数
other に Float を指定した場合は、計算結果を Float で返しま
す。
//emlist[例][ruby]{
r = Rational(3, 4)
r * 2 # => (3/2)
r * 4 # => (3/1)
r * 0.5 # => 0.375
r * Rational(1, 2) # => (3/8)
//} -
Rational
# +(other) -> Rational | Float (73279.0) -
和を計算します。
和を計算します。
@param other 自身に足す数
other に Float を指定した場合は、計算結果を Float で返しま
す。
//emlist[例][ruby]{
r = Rational(3, 4)
r + Rational(1, 2) # => (5/4)
r + 1 # => (7/4)
r + 0.5 # => 1.25
//} -
Rational
# -(other) -> Rational | Float (73261.0) -
差を計算します。
差を計算します。
@param other 自身から引く数
other に Float を指定した場合は、計算結果を Float で返しま
す。
//emlist[例][ruby]{
r = Rational(3, 4)
r - 1 # => (-1/4)
r - 0.5 # => 0.25
//} -
Rational
# to _ f -> Float (72814.0) -
自身の値を最も良く表現する Float に変換します。
自身の値を最も良く表現する Float に変換します。
絶対値が極端に小さい、または大きい場合にはゼロや無限大が返ることがあります。
@return Float を返します。
//emlist[例][ruby]{
Rational(2).to_f # => 2.0
Rational(9, 4).to_f # => 2.25
Rational(-3, 4).to_f # => -0.75
Rational(20, 3).to_f # => 6.666666666666667
Rational(1, 10**1000... -
Rational
# fdiv(other) -> Float (72742.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)... -
Float
# to _ r -> Rational (72652.0) -
自身を Rational に変換します。
自身を Rational に変換します。
//emlist[例][ruby]{
0.5.to_r # => (1/2)
//} -
Time
. at(time) -> Time (54466.0) -
time で指定した時刻の Time オブジェクトを返します。
time で指定した時刻の Time オブジェクトを返します。
引数が数値の場合、生成された Time オブジェクトのタイムゾーンは地方時となります。
@param time Time オブジェクト、もしくは起算時からの経過秒数を表わす数値で指定します。
//emlist[][ruby]{
Time.at(0) # => 1970-01-01 09:00:00 +0900
Time.at(Time.at(0)) # => 1970-01-01 09:00:00 +0900
Time... -
Time
. at(time , usec) -> Time (54421.0) -
time + (usec/1000000) の時刻を表す Time オブジェクトを返します。 浮動小数点の精度では不十分な場合に使用します。
time + (usec/1000000) の時刻を表す Time オブジェクトを返します。
浮動小数点の精度では不十分な場合に使用します。
生成された Time オブジェクトのタイムゾーンは地方時となります。
@param time 起算時からの経過秒数を表わす値をInteger、 Float、 Rational、または他のNumericで指定します。
@param usec マイクロ秒をInteger、 Float、 Rational、または他のNumericで指定します。
//emlist[][ruby]{
Time.at(946684800, 123456.789).nse... -
Numeric
# denominator -> Integer (18385.0) -
自身を Rational に変換した時の分母を返します。
自身を Rational に変換した時の分母を返します。
@return 分母を返します。
@see Numeric#numerator、Integer#denominator、Float#denominator、Rational#denominator、Complex#denominator -
Numeric
# numerator -> Integer (18385.0) -
自身を Rational に変換した時の分子を返します。
自身を Rational に変換した時の分子を返します。
@return 分子を返します。
@see Numeric#denominator、Integer#numerator、Float#numerator、Rational#numerator、Complex#numerator -
mathn (18283.0)
-
Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
なお、このライブラリはRuby 2.2から非推奨(deprecated)になり、Ruby 2.5で削除されました。
引き続き利用するには mathn gem をインストールしてください。
* 整数の除算が割り切れない場合、 Rational オブジェクトを返すようになります。
* 複素数や有理数の演算結果が実数や整数に収まる場合、 Float オブジェクトや Integer オブジェクトを返します。
* Math モジュールの数学関数の定義域と終... -
matrix (18037.0)
-
行列と数ベクトルを扱うためのライブラリです。
行列と数ベクトルを扱うためのライブラリです。
行列、ベクトルの各要素には Ruby の任意の数オブジェクト(Numeric の
サブクラス、Float, Integer, Complex, Rational など)
が使えます。 -
Matrix
# cofactor _ expansion(row: nil , column: nil) -> object | Integer | Rational | Float (10213.0) -
row 行、もしくは column 列に関するラプラス展開をする。
row 行、もしくは column 列に関するラプラス展開をする。
通常の行列に対してはこれは単に固有値を計算するだけです。かわりにMatrix#determinant を
利用すべきです。
変則的な形状の行列に対してはそれ以上の意味を持ちます。例えば
row行/column列が行列やベクトルである場合には
//emlist[例][ruby]{
require 'matrix'
# Matrix[[7,6], [3,9]].laplace_expansion(column: 1) # => 45
Matrix[[Vector[1, 0], Vector[0, 1]], [2, 3]].... -
Matrix
# det _ e -> Rational | Float (10213.0) -
このメソッドは deprecated です。 Matrix#determinant を代わりに使ってください。
このメソッドは deprecated です。
Matrix#determinant を代わりに使ってください。 -
Matrix
# determinant _ e -> Rational | Float (10213.0) -
このメソッドは deprecated です。 Matrix#determinant を代わりに使ってください。
このメソッドは deprecated です。
Matrix#determinant を代わりに使ってください。 -
Matrix
# laplace _ expansion(row: nil , column: nil) -> object | Integer | Rational | Float (10213.0) -
row 行、もしくは column 列に関するラプラス展開をする。
row 行、もしくは column 列に関するラプラス展開をする。
通常の行列に対してはこれは単に固有値を計算するだけです。かわりにMatrix#determinant を
利用すべきです。
変則的な形状の行列に対してはそれ以上の意味を持ちます。例えば
row行/column列が行列やベクトルである場合には
//emlist[例][ruby]{
require 'matrix'
# Matrix[[7,6], [3,9]].laplace_expansion(column: 1) # => 45
Matrix[[Vector[1, 0], Vector[0, 1]], [2, 3]].... -
Matrix
# tr -> Integer | Float | Rational | Complex (10213.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 (10213.0) -
トレース (trace) を返します。
トレース (trace) を返します。
行列のトレース (trace) とは、対角要素の和です。
//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6], [3,9]].trace # => 16
//}
trace は正方行列でのみ定義されます。
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します -
Matrix
# cofactor(row , column) -> Integer | Rational | Float (10207.0) -
(row, column)-余因子を返します。
(row, column)-余因子を返します。
各要素の型によって返り値が変わります。
@param row 行
@param column 列
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方でない場合に発生します。
@see Matrix#adjugate -
BigMath
. # exp(x , prec) -> BigDecimal (9073.0) -
x の指数関数を prec で指定した精度で計算します。
x の指数関数を prec で指定した精度で計算します。
x に正の無限大を指定した場合は正の無限大を返します。負の無限大を指定し
た場合には 0 を返します。NaN を指定した場合には NaNを返します。
@param x 計算対象の数値を Integer、BigDecimal、
Float、Rationalオブジェクトのいずれかで指定します。
@param prec 計算結果の精度を指定します。
@raise ArgumentError x に Integer、BigDecimal、
Float、Rational以外のオ... -
Math
. # rsqrt(a) -> Numeric (9073.0) -
@todo
@todo
複素数を考慮しないので、負の数や Complex をあたえないでください。
a が Float の時は、Float を返します。
それ以外の時、平方根が有理数であれば、Rational または Integer を返します。
無理数であれば、Float を返します。 -
BigMath
. # log(x , prec) -> BigDecimal (9037.0) -
x の自然対数を prec で指定した精度で計算します。
x の自然対数を prec で指定した精度で計算します。
x に無限大を指定した場合は無限大を返します。NaN を指定した場合には NaN
を返します。
@param x 計算対象の数値を Integer、Float、
Rational、BigDecimal オブジェクトのいずれかで指定
します。
@param prec 計算結果の精度を指定します。
@raise Math::DomainError x に 0 以下の数値か Complex オブジェクト
が指定された場合に発生します。
@rais... -
Matrix
# det -> Numeric (9037.0) -
行列式 (determinant) の値を返します。
行列式 (determinant) の値を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します
//emlist[例][ruby]{
require 'matrix'
p Matrix[[2, 1], [-1, 2]].det #=> 5
p Matrix[[2.0, 1... -
Matrix
# determinant -> Numeric (9037.0) -
行列式 (determinant) の値を返します。
行列式 (determinant) の値を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します
//emlist[例][ruby]{
require 'matrix'
p Matrix[[2, 1], [-1, 2]].det #=> 5
p Matrix[[2.0, 1... -
Matrix
# rank -> Integer (9037.0) -
階数 (rank) を返します。
階数 (rank) を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
//emlist[][ruby]{
require 'matrix'
m = Matrix[[2, 6], [1, 3]]
m.rank # => 1
//} -
Numeric
# quo(other) -> Rational | Float | Complex (1261.0) -
self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。
self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。
Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や Complex が関わるときはそれらのクラスになります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.quo(3)... -
Random
# rand -> Float (700.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang... -
Random
# rand(max) -> Integer | Float (700.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang... -
Random
# rand(range) -> Integer | Float (700.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang...