multiplicación de matrices en core.matrix

Esto parece una pregunta tonta, pero no puedo entender esto después de mirar un poco alrededor, así que preguntaré aquí.

¿Cómo puedo multiplicar una matriz de 3x2 por una matriz de 2x3 en core.matrix? Debo estar malinterpretando algo muy básico. De manera ingenua, esperaba que esto funcionara y pensé que core.matrix haría las matemáticas subyacentes por mí.

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

Encontré este ejemplo por primera vez en una búsqueda de Google.http://www.purplemath.com/modules/mtrxmult.htm y el resultado esperado es

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

En su lugar, me sale:

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

Gracias por adelantado.

PD. mi espacio de nombres se parece al ejemplo de core.matrix

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta