mnożenie macierzy w core.matrix
To wydaje się głupie pytanie, ale nie mogę tego pojąć po rozejrzeniu się, więc zapytam tutaj.
Jak mogę pomnożyć macierz 3x2 przez macierz 2x3 w core.matrix? Muszę nie rozumieć czegoś bardzo podstawowego. Naiwnie spodziewałem się, że to zadziała i pomyślałem, że core.matrix zrobi dla mnie podstawową matematykę.
(* (matrix [[1 0 -2]
[0 3 -1]])
(matrix [[0 3]
[-2 -1]
[0 4]]))
Znalazłem ten przykład za pomocą pierwszego trafienia w wyszukiwarce googlehttp://www.purplemath.com/modules/mtrxmult.htm a oczekiwanym rezultatem jest
[[ 0 -5]
[-6 -7]]
Zamiast tego dostaję:
RuntimeException Incompatible shapes, cannot broadcast [3 2] to [2 3]
clojure.core.matrix.impl.persistent-vector/eval5013/fn--5014
(persistent_vector.clj:152)
Z góry dziękuję.
p.s. moja przestrzeń nazw wygląda dokładnie tak samo jak przykład z core.matrix
(ns xyz
(:refer-clojure :exclude [* - + == /]) ; get from core.matrix
(:use clojure.core.matrix)
(:use clojure.core.matrix.operators)
(:gen-class))