[Maxima] What is wrong in multiplication of matrices
cblasius at gmail.com
Tue Jul 20 09:11:42 CDT 2010
I try to multiply matrices by matrix congruence. First introduce the following
matrices A, C, P, Q:
and the following block matrices:
m: matrix([P^^(-1), 0, 0], [0,1,0],[0,0,1]);
M: matrix([-P, transpose(A), transpose(C)], [A, -P^^(-1), 0], [C,
Then multiply it as follows
r1: m . M . m;
and I got wrong result. Why, because on position r1[1,2] is
(I obtain it by grind(r1[1,1])$)
but should be
P^^(-1) . transpose(A)
I see that in the multiplication were used operator * but I declare that
A,C,P,Q are nonscalars and it should use the . operator. Why it is not done?
Or how I can multiply matrices as block matrices? I want only operate on
symbolic matrices as A,C,P,Q not as real i.e.
A: matrix([1,2],[3,4]) <---- not on such matrices, where are values
I want to work on symbolic matrices. Is maybe any chance to introduce in
future versions of maxima something such as:
to tell maxima that I operate on matrices in symbolic way?
I also want to ask how to simplify r1[1,1]
it should simplify to
but there is * not . so it couldn't simplify.
When I write with . it also do not simplify, why?
-P . (P^^(-1))^2
<- 1> 2
- P . (P )
But when I write
-P . P^^(-1);
then I got correct results:
Thank you in advance.
More information about the Maxima