2 added 39 characters in body

# Husk, 77 6 bytes

mMoΣz*TmMδṁ*T

Please note the argument order, try it online!try it online!

-1 byte thanks to @Zgarb!

### Explanation

Basically just doing what the definition of matrix-multiplication sais:

mM(Σz*)TmMδṁ*T  -- takes arguments in reverse order, eg: [[1],[0],[-1]] [[1,2,3],[4,5,6]]
T  -- transpose the first argument: [[1,0,-1]] [[1,2,3],[4,5,6]]
m         -- map the following function (example element [1,0,-1])
M(   )   --   map the following function applied to [1,0,-1] (example element [1,2,3])
z*δṁ    --     zipaccumulate undera multiplication:sum [1,0,of element-3]wise..
Σ  *    --     sum..multiplication: -2
-- [[-2],[-2]]

# Husk, 7 bytes

mMoΣz*T

Please note the argument order, try it online!

### Explanation

Basically just doing what the definition of matrix-multiplication sais:

mM(Σz*)T  -- takes arguments in reverse order, eg: [[1],[0],[-1]] [[1,2,3],[4,5,6]]
T  -- transpose the first argument: [[1,0,-1]] [[1,2,3],[4,5,6]]
m         -- map the following function (example element [1,0,-1])
M(   )   --   map the following function applied to [1,0,-1] (example element [1,2,3])
z*    --     zip under multiplication: [1,0,-3]
Σ      --     sum: -2
-- [[-2],[-2]]

# Husk, 7 6 bytes

mMδṁ*T

Please note the argument order, try it online!

-1 byte thanks to @Zgarb!

### Explanation

Basically just doing what the definition of matrix-multiplication sais:

mMδṁ*T  -- takes arguments in reverse order, eg: [[1],[0],[-1]] [[1,2,3],[4,5,6]]
T  -- transpose the first argument: [[1,0,-1]] [[1,2,3],[4,5,6]]
m       -- map the following function (example element [1,0,-1])
M      --   map the following function applied to [1,0,-1] (example element [1,2,3])
δṁ    --     accumulate a sum of element-wise..
*    --    ..multiplication: -2
-- [[-2],[-2]]
1

# Husk, 7 bytes

mMoΣz*T

Please note the argument order, try it online!

### Explanation

Basically just doing what the definition of matrix-multiplication sais:

mM(Σz*)T  -- takes arguments in reverse order, eg: [[1],[0],[-1]] [[1,2,3],[4,5,6]]
T  -- transpose the first argument: [[1,0,-1]] [[1,2,3],[4,5,6]]
m         -- map the following function (example element [1,0,-1])
M(   )   --   map the following function applied to [1,0,-1] (example element [1,2,3])
z*    --     zip under multiplication: [1,0,-3]
Σ      --     sum: -2
-- [[-2],[-2]]