Matrixmultiplikation in core.matrix

Dies scheint eine dumme Frage zu sein, aber ich kann es nicht herausfinden, nachdem ich mich ein bisschen umgesehen habe, also werde ich hier fragen.

Wie kann ich eine 3x2-Matrix mit einer 2x3-Matrix in core.matrix multiplizieren? Ich muss etwas sehr Grundlegendes missverstehen. Naiv erwartete ich, dass dies funktionieren würde und ich dachte, core.matrix würde die zugrundeliegende Mathematik für mich erledigen.

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

Ich habe dieses Beispiel über einen ersten Treffer in einer Google-Suche gefundenhttp://www.purplemath.com/modules/mtrxmult.htm und das erwartete Ergebnis ist

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

Stattdessen bekomme ich:

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

Danke im Voraus.

p.s. Mein Namespace sieht genauso aus wie das Beispiel aus core.matrix

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage