Dear Wolfram Community:
I am struggling to make the following apparent simple products with the following symbolic arrays:
V1=VectorSymbol[v1,dim1,Reals]; V2=VectorSymbol[v2,dim2,Reals];
M1=MatrixSymbol[m1,{dim1,dim2},Reals]; M2=MatrixSymbol[m2,{dim1,dim2},Reals];
M12=M1*M2; V1M1=V1*M1; M2V2= V2*M2;
The idea is to operate elementwise without the summations that occur with the “Dot” product or the proliferation of dimensions that I get with “TensorProduct”.
This of course can be done with “Times” in explicit arrays, but how to do this with symbolic arrays ?
After googling a bit, this product is also called “Hadamard Product”, “Entrywise product”, “element-wise product” or “Schur product”, and according to Wikipedia, the Wolfram command is just “Times”: “*”. Reference: Hadamard Product (Wikipedia)
In particular, when I do more complicated operations like:
dot= M12.V2// TensorExpand;
AXA= M12.PseudoInverse[M12].M12// TensorExpand;
AX= M12.Inverse[M12]// TensorExpand;
In this cases, I get an error message:
However I am stuck with this errors and I am wondering if there is any way out with the built in Wolfram Functions, as the documentation do not say anything about it.
I would greatly appreciate any help or suggestion about how to do this. Best regards,
Alberto Silva Ariano
(Pontificia Universidad Catolica del Peru)
