On Sunday, 19 April 2020 at 19:13:14 UTC, p.shkadzko wrote:
On Sunday, 19 April 2020 at 18:59:00 UTC, jmh530 wrote:
On Sunday, 19 April 2020 at 17:55:06 UTC, p.shkadzko wrote:
snip
So, lubeck mtimes is equivalent to NumPy
"a.dot(a.transpose())".
There are elementwise operation on two matrices of the same
size and then there is matrix multiplication. Two different
things. You had initially said using an mxn matrix to do the
calculation. Elementwise multiplication only works for
matrices of the same size, which is only true in your
transpose case when they are square. The mtimes function is
like dot or @ in python and does real matrix multiplication,
which works for generic mxn matrices. If you want elementwise
multiplication of a square matrix and it’s transpose in mir,
then I believe you need to call assumeContiguous after
transposed.
"assumeContiguous" that's what I was looking for. Thanks!
well no, "assumeContiguous" reverts the results of the
"transposed" and it's "a * a".
I would expect it to stay transposed as NumPy does "assert
np.all(np.ascontiguous(a.T) == a.T)".