[#37021] [RAA] RAA/2.3 — "U.Nakamura" <usa@...>

みなさんこんにちは。

20 messages 2003/01/30

[ruby-list:36948] matrix,rbのVector

From: Yoshiyasu Kaneshige <hien@...>
Date: 2003-01-17 18:01:39 UTC
List: ruby-list #36948
初めまして。
添付ライブラリのmatrix.rbで定義されているVectorクラスの演算メソッド
にバグと思われる部分があったので報告します。

vector * matrixのときにErrDimensionMismatchを出されます。


class Vector

  def *(x) #x is matrix or number
    case x
    when Numeric
      els = @elements.collect{|e| e * x}
      Vector.elements(els, false)
    when Matrix
      Matrix.column_vector(self) * x
    else
      s, x = x.coerce(self)
      s * x
    end
  end

end

上記で
when Matrix
  Matrix.column_vector(self) * x
が
when Matrix
  ( Matrix.row_vector(self) * x ).row(0)

だと、期待通りの動作になります。

なお、ruby-1.6.8とruby-1.7.3添付のライブラリで確認されました。

以上です。


兼重 吉保 <hien@kcn.ne.jp>

In This Thread

Prev Next