Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > matrixライブラリ > Vectorクラス

class Vector

クラス・モジュールの継承リスト: Vector < Enumerable < Object < Kernel < BasicObject

要約

Numeric を要素とするベクトルを扱うクラスです。 Vector オブジェクトは Matrix オブジェクトとの演算においては列ベクトルとして扱われます。

ベクトルの要素のインデックスは 0 から始まることに注意してください。

特異メソッド

定義 説明
self[*a] -> Vector

可変個引数を要素とするベクトルを生成します。

basis(size:, index:) -> Vector

size 次元ベクトル空間の index 番目の標準基底を返します。

elements(a, copy = true) -> Vector

配列 a を要素とするベクトルを生成します。ただし、オプション引数 copy が偽 (false) ならば、複製を行いません。

independent?(*vectors) -> bool

ベクトルの列 vectors が線形独立であれば true を返します。

zero(size) -> Vector

零ベクトルを返します。

インスタンスメソッド

定義 説明
self * other -> Vector

self の各要素に数 other を乗じたベクトルを返します。

self * m -> Matrix

自分自身を列ベクトル(行列)に変換して (実際には Matrix.column_vector(self) を適用) から、行列 m を右から乗じた行列 (Matrix クラス) を返します。

self + v -> Vector | Matrix

self にベクトル v を加えたベクトルを返します。

+ self -> self

単項演算子の + です。 self を返します。

self - v -> Vector | Matrix

self からベクトル v を減じたベクトルを返します。

- self -> self

単項演算子の - です。 各要素の符号を反転したベクトルを返します。

self / other -> Vector

self の各要素を数 other で割ったベクトルを返します。

self == v -> bool
eql?(v) -> bool

自分自身と引数 v を比較し、true/false を返します。

self[i] -> object | nil
element(i) -> object | nil
component(i) -> object | nil

i 番目の要素を返します。インデックスは 0 から開始します。要素が存在しないインデックスを指定した時には nil を返します。

self[index] = value

index 番目の要素を value に変更します。

self[range] = v

Range オブジェクト range の範囲にある要素を v の内容に置換します。

angle_with(v) -> Float

v と self がなす角度を返します。

collect {|x| ... } -> Vector
map {|x| ... } -> Vector
collect -> Enumerator
map -> Enumerator

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

collect! {|element| ... } -> self
map! {|element| ... } -> self
collect! -> Enumerator
map! -> Enumerator

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

collect2(v) {|x, y| ... } -> Array
collect2(v) -> Enumerator

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。

covector -> Matrix

Matrix オブジェクトへ変換します。

cross_product(*vs) -> Vector
cross(*vs) -> Vector

self とベクトル vs とのクロス積を返します。

inner_product(v) -> Float
dot(v) -> Float

ベクトル v との内積を返します。

each {|e| ... } -> self
each -> Enumerator

ベクトルの各要素をブロックの引数として順にブロックを呼び出します。

each2(v) {|x, y| ... } -> self
each2(v) -> Enumerator

ベクトルの各要素と、それに対応するインデックスを持つ引数 v の要素との組に対して (2引数の) ブロックを繰返し評価します。

elements_to_f -> Vector

ベクトルの各成分をFloatに変換したベクトルを返します。

elements_to_i -> Vector

ベクトルの各成分をIntegerに変換したベクトルを返します。

elements_to_r -> Vector

ベクトルの各成分をRationalに変換したベクトルを返します。

hash -> Integer

自分自身のハッシュ値を返します。

independent?(*vectors) -> bool

self とベクトルの列 vectors が線形独立であれば true を返します。

inspect -> String

オブジェクトの内容を文字列化します。

r -> Float
magnitude -> Float
norm -> Float

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

map2(v) {|x, y| ... } -> Vector

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。

normalize -> Vector

自身を Vector#norm で正規化したベクトルを返します。

size -> Integer

ベクトルの要素数(次元)を返します。

to_a -> Array

ベクトル(Vector)から配列 (Array) に変換します。

to_s -> String

ベクトル(Vector)から文字列 (String) に変換します。

zero? -> bool

すべての要素がゼロであれば true を返します。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined all? any? chain chunk chunk_while collect_concat count cycle detect drop drop_while each_cons each_entry each_slice each_with_index each_with_object entries filter find_index first grep grep_v group_by include? inject lazy max max_by min min_by minmax minmax_by none? one? partition reject reverse_each slice_after slice_before slice_when sort sort_by sum take take_while to_h to_set uniq zip !~ <=> === =~ _dump class clone define_singleton_method display enum_for equal? extend freeze frozen? initialize initialize_copy instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap then to_ary to_hash to_int to_io to_proc to_regexp to_str trust untaint untrust untrusted? .new .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE