Ну, насколько я понял конструкцию :require :as, я назначил аллиас M на clojure.core.matrix.operators через
(:require [clojure.core.matrix.operators :as M])
то есть используется * именно из clojure.core.matrix.operators.
Если использовать простое умножение, получается другая ошибка, которую и можно ожидать при применении оператора, на рассчитанного на матрицы.
Вообще все выглядит так, как будто переопределили оператор умножения с математического, на простое перемножение элементов матриц, как в сложении. Только я не очень понимаю, зачем это было сделано.