Be concise.
Be useful.
All contributions dictatorially edited by webmasters to match personal tastes.
Please do not paste any copyright violating material.
Please try to avoid dependencies to third-party libraries and frameworks.
(defn t [x] (apply (partial mapv vector) x))
(defn v* [u v] (reduce + (mapv * u v)))
(defn shape [a] (comp (partition-all (count a)) (map vec)))
(defn mm [a b]
(into [] (shape a)
(for [line a col (t b)]
(v* line col))))
(def c (mm a b))
c = matmul (a,b)
my ($nx, $ny, $nz) = (2, 3, 4);
my $A = sequence $ny, $nx;
my $B = sequence $nz, $ny;
my $C = matmult $A, $B;
c = a @ b
Python 3.5 (PEP465) introduced the @ operator for matrix multiplication.
c = np.matmul(a, b)
You can also use np.matrix instead of np.array. Be careful when using array, because the * operator performs elementwise multiplication.