Search code examples
maximawxmaxima

Symbolic Transpose on WxMaxima


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

Solution

  • 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.