2017-02-24 3 views
0

私はScalaでこれを達成する効果的な方法を見ていきたいと考えています。私はクレタ島の関数乗算(行列乗算)をしたいと思いますRowMatrixとBDM Scala RowMatrixとBDMを乗算する方法

  • 私のアプローチはRowMatrix Aの行を取得し、その後Matrixに変換し、それを乗算することである必要があり

    1. B

    私はタイプをMatrixにしようとしていますが、私は迷っています。

    A.rows.map{case (X) => convertToMatrix(X) * B } 
    

    私はAから行列を得た行を変換する関数がありますか?第二に私はA.multiply(B)を得るためにBと直接それを掛けることができますか?

    私は行列にBから行を乗算しようとしているが、私はこのエラーを取得しています:

    scala> A.rows.map{case (v) => toBreezeVector(v).multiply(B)} 
    <console>:41: error: value multiply is not a member of breeze.linalg.Vector[Double] 
    
  • 答えて

    0

    ScalaはDenseMatrixを提供ScalaNLPと呼ばれる優れたライブラリを持っている(これはBreezeDenseMatrixではありません)クラス行列操作の場合ScalaNLPは、BLASのネイティブな実現を使用して行列の乗算を実行できます。 これは本当に速いです。

    +0

    私は、Breezeを使ってBDMを行列に変換し、行列乗算法を使用することに決めました –

    関連する問題