6

くだらない質問ですが、いろいろ調べてもわからないのでこちらで質問させていただきます。

core.matrix で 3x2 行列を 2x3 行列で乗算するにはどうすればよいですか? 私は非常に基本的なことを誤解しているに違いありません。素朴に、私はこれが機能することを期待し、core.matrix が基礎となる計算を行ってくれると考えました。

(* (matrix [[1 0 -2] 
            [0 3 -1]]) 
   (matrix [[0   3] 
            [-2 -1] 
            [0   4]]))

Google検索http://www.purplemath.com/modules/mtrxmult.htmの最初のヒットでこの例を見つけましたが、期待される結果は次のとおりです

[[ 0 -5]
 [-6 -7]]

代わりに、次のようになります。

RuntimeException Incompatible shapes, cannot broadcast [3 2] to [2 3] 
clojure.core.matrix.impl.persistent-vector/eval5013/fn--5014 
(persistent_vector.clj:152)

前もって感謝します。

ps私の名前空間は、core.matrixの例のように見えます

(ns xyz
  (:refer-clojure :exclude [* - + == /]) ; get from core.matrix
  (:use clojure.core.matrix)
  (:use clojure.core.matrix.operators)
  (:gen-class))
4

1 に答える 1