のように、縦横の表にあらわしたものを(m,n)型の行列といいます。
m=nの行列をm次の正方行列(square matrix)といいます。インデックスは 0 から始まることに注意してください。
(m,n)型行列は、大きさnの行(横)ベクトルをm個縦に並べたものとみなすこともできますし、大きさmの列(縦)ベクトルをn個横に並べたものとみなすこともできます。
定義 |
説明 |
self * m -> Matrix | Vector
|
self に行列またはベクトル m を右から乗じた行列を返します。
|
self * other -> Matrix
|
self の各成分に数 other を掛けた行列を返します。
|
self ** n -> Matrix
|
self の n 乗を返します。
|
self + m -> Matrix
|
self に行列 m を加算した行列を返します。
self の column_size が 1 なら Vector オブジェクトも指定出来ます。
|
+ self -> self
|
単項 +。self を返します。
|
self - m -> Matrix
|
self から行列mを減算した行列を返します。
self の column_size が 1 なら Vector オブジェクトも指定出来ます。
|
- self -> Matrix
|
単項 -。各要素の符号を反転させた行列を返します。
|
self / m -> Matrix
|
self に行列 m の逆行列を右から乗じた行列を返します。
|
self / other -> Matrix
|
self の各成分を数 other で割った行列を返します。
|
self == other -> bool eql?(other) -> bool
|
自分自身と other を比較し、同値であれば真(true)を返します。
|
self[i, j] -> () element(i, j) -> () component(i, j) -> ()
|
(i,j)要素を返します。行列の範囲外の値を指定した場合には nil を返します。
|
self[row, col] = v
|
行が row、列が col である範囲を v に変更する。
|
adjugate -> Matrix
|
余因子行列を返します。
|
antisymmetric? -> bool skew_symmetric? -> bool
|
行列が反対称行列 (交代行列、歪〔わい〕対称行列とも) ならば true を返します。
|
coerce(other) -> Array
|
他の数値オブジェクトとの変換を行います。
|
cofactor(row, column) -> Integer | Rational | Float
|
(row, column)-余因子を返します。
|
cofactor_expansion(row: nil, column: nil) -> object | Integer | Rational | Float laplace_expansion(row: nil, column: nil) -> object | Integer | Rational | Float
|
row 行、もしくは column 列に関するラプラス展開をする。
|
map(which = :all) {|x| ... } -> Matrix collect(which = :all) {|x| ... } -> Matrix map(which = :all) -> Enumerator collect(which = :all) -> Enumerator
|
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
|
map!(which = :all) {|element| ... } -> self collect!(which = :all) {|element| ... } -> self map!(which = :all) -> Enumerator collect!(which = :all) -> Enumerator
|
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
|
column(j) -> Vector | nil column(j) {|x| ... } -> self
|
j 番目の列を Vector オブジェクトで返します。
j 番目の列が存在しない場合は nil を返します。ブロックが与えられた場合はその列の各要素についてブロックを繰り返します。
|
column_size -> Integer column_count -> Integer
|
行列の列数を返します。
|
column_vectors -> [Vector]
|
自分自身を列ベクトルの配列として返します。
|
combine(*matrices) {|*elements| ... } -> Matrix
|
要素ごとにブロックを呼び出した結果を組み合わせた Matrix を返します。
|
conjugate -> Matrix conj -> Matrix
|
複素共役を取った行列を返します。
|
determinant -> Numeric det -> Numeric
|
行列式 (determinant) の値を返します。
|
determinant_e -> Rational | Float det_e -> Rational | Float
|
このメソッドは deprecated です。
Matrix#determinant を代わりに使ってください。
|
diagonal? -> bool
|
行列が対角行列ならば true を返します。
|
each(which = :all) {|e| ... } -> self each(which = :all) -> Enumerator
|
行列の各要素を引数としてブロックを呼び出します。
|
each_with_index(which = :all) {|e, row, col| ... } -> self each_with_index(which = :all) -> Enumerator
|
行列の各要素をその位置とともに引数としてブロックを呼び出します。
|
eigen -> Matrix::EigenvalueDecomposition eigensystem -> Matrix::EigenvalueDecomposition
|
行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
|
elements_to_f -> Matrix
|
各要素を浮動小数点数 Float に変換した行列を返します。
|
elements_to_i -> Matrix
|
各要素を整数 Integer に変換した行列を返します。
|
elements_to_r -> Matrix
|
各要素を有理数 Rational に変換した行列を返します。
|
empty? -> bool
|
行列が要素を持たないならば true を返します。
|
hadamard_product(m) -> Matrix entrywise_product(m) -> Matrix
|
アダマール積(要素ごとの積)を返します。
|
index(value, selector = :all) -> [Integer, Integer] | nil index(selector = :all) {|e| ... } -> [Integer, Integer] | nil index(selector = :all) -> Enumerator find_index(value, selector = :all) -> [Integer, Integer] | nil find_index(selector = :all) {|e| ... } -> [Integer, Integer] | nil find_index(selector = :all) -> Enumerator
|
指定した値と一致する要素の位置を [row, column] という配列で返します。ブロックを与えた場合は各要素を引数としてブロックを呼び出し、返り値が真であった要素の位置を返します。
|
first_minor(row, column) -> Matrix
|
self から第 row 行と第 column 列を取り除いた行列を返します。
|
hash -> Integer
|
行列のHash値を返します。
|
hermitian? -> bool
|
行列がエルミートならば true を返します。
|
hstack(*matrices) -> Matrix
|
行列 self と matrices を横に並べた行列を生成します。
|
imaginary -> Matrix imag -> Matrix
|
行列の虚部を返します。
|
inspect -> String
|
自分自身を見やすい形式に文字列化し、その文字列を返します。
|
inverse -> Matrix inv -> Matrix
|
逆行列を返します。
|
lower_triangular? -> bool
|
行列が下三角行列ならば true を返します。
|
lup -> Matrix::LUPDecomposition lup_decomposition -> Matrix::LUPDecomposition
|
行列の LUP 分解を保持したオブジェクトを返します。
|
minor(from_row, row_size, from_col, col_size) -> Matrix minor(from_row..to_row, from_col..to_col) -> Matrix
|
selfの部分行列を返します。
|
normal? -> bool
|
行列が正規行列ならば true を返します。
|
orthogonal? -> bool
|
行列が直交行列ならば true を返します。
|
permutation? -> bool
|
行列が置換行列ならば true を返します。
|
rank -> Integer
|
階数 (rank) を返します。
|
rank_e -> Integer
|
階数 (rank) を返します。
|
real -> Matrix
|
行列の実部を返します。
|
real? -> bool
|
行列の全要素が実(Numeric#real?)であれば true を返します。
|
rectangular -> [Matrix, Matrix] rect -> [Matrix, Matrix]
|
行列を実部と虚部に分解したものを返します。
|
regular? -> bool
|
行列が正方で正則なら true を、特異なら false を返します。
|
round(ndigits = 0) -> Matrix
|
行列の各要素を指定した桁数で丸めた行列を返します。
|
row(i) -> Vector | nil row(i) {|x| ... } -> self
|
i 番目の行を Vector オブジェクトで返します。
i 番目の行が存在しない場合は nil を返します。ブロックが与えられた場合はその行の各要素についてブロックを繰り返します。
|
row_size -> Integer row_count -> Integer
|
行列の行数を返します。
|
row_vectors -> [Vector]
|
自分自身を行ベクトルの配列として返します。
|
singular? -> bool
|
行列が正方で特異なら true を、正則なら false を返します。
|
square? -> bool
|
正方行列であるなら、 true を返します。
|
symmetric? -> bool
|
行列が対称ならば true を返します。
|
transpose -> Matrix t -> Matrix
|
転置行列 (transpose matrix) を返します。
|
to_a -> Array
|
自分自身をArrayに変換したものを返します。
|
to_s -> String
|
行列を文字列化し、その文字列を返します。
|
trace -> Integer | Float | Rational | Complex tr -> Integer | Float | Rational | Complex
|
トレース (trace) を返します。
|
unitary? -> bool
|
行列がユニタリならば true を返します。
|
upper_triangular? -> bool
|
行列が上三角行列ならば true を返します。
|
vstack -> Matrix
|
行列 self と matrices を縦に並べた行列を生成します。
|
zero? -> bool
|
行列が零行列ならば true を返します。
|