How could I apply the transpose operator after it has returned the nominal expression?
I'm working with some symbolic matrix equations, and I have to deal with the transpose, after that I need to substitute some matrices with real values, the symbolic matrices are symbols declared as nonscalar like this:
declare(A,nonscalar);
declare(B,nonscalar);
declare(a,scalar);
equation:transpose(A*a).B=0
subst([A=transpose(matrix([1,2,3])),B=transpose(matrix([3,2,1]))],equation)
the result is:
(transpose(matrix([1],[2],[3])) . matrix([3],[2],[1]))*a=0
but I'm expecting something like
10*a=0
Try ev(%, nouns)
after the subst
. Also take a look at the various flags which modify .
expressions, in particular dotscrules
. I think ?? dot
and ?? mx
will find most or all of those flags.