assertMultipliesWith(other);
if (result.rows != rows || result.columns != other.columns) {
if (result != this && result != other)
result.resize(rows, other.columns);
else
throw new SizeException("Cannot resize result matrix because it is used in-place.");
}
if (result == this || result == other) {
/* actually, blas cannot do multiplications in-place. Therefore, we will fake by
* allocating a temporary object on the side and copy the result later.