Breezeライブラリの数学部分を使用しており、次の行列があります。
val matrix = breeze.linalg.DenseMatrix((1.0,2.0),(3.0,4.0))
*=
and:*=
演算子のいずれかを使用して、これをスカラー Double でスケーリング (および結果を別の Matrix に追加) したい:
val scale = 2.0
val scaled = matrix * scale
これは問題なく機能します(詳細については、以下の私の回答を参照してください)。
更新 このコードは単独で機能します。他に問題があるようです。帯域幅を浪費して申し訳ありません...
更新 2ただし、型を変数に明示的に割り当てると、コードはコンパイルに失敗します。Matrix
matrix
val matrix: Matrix[Double] = breeze.linalg.DenseMatrix((1.0,2.0),(3.0,4.0))
val scaled = matrix * scale // does not compile
コンパイラは、「パラメーター op の暗黙的な値が見つからない」と不平を言い続けます。
誰でもこれを説明できますか?これは Breeze のバグですか、それとも意図的なものですか? ティア。