We do support the Hadamard product:
For your example where the dimensions don’t match exactly, the Hadamard product is actually undefined. I guess it is a convenience feature of numpy to allow it anyway, assuming the single-row or single-column matrix to be repeated. Currently the matrix-
PointwiseMultiply requires dimensions to match exactly and thus does not support this.
I guess we could extend it to allow them to either match exactly or be exactly 1, in which case it would assume them to be repeated. If one of them is a 1x1 matrix it could do a scalar multiplication. This way you could write this in C# as
m.PointwiseMultiply(v.ToColumnMatrix()), and in F# as
m .* (v.ToColumnMatrix()).
We still need to convert to a column or row matrix since the vector is undirected.