multiplication of several matrices: (part) expressions are not carried out
Subject: multiplication of several matrices: (part) expressions are not carried out
From: Eric Lenz
Date: Fri, 27 Aug 2010 15:07:56 +0200
Hi!
I have a question about the multiplication of several matrices in Maxima (5.18.1).
Apparently, Maxima tries to carry out a matrix expression from the right. In the attached example, I multiply three matrices a, b and c. For a and b, values are given, c is not yet defined further. If the matrices are multiplied in the order a.b.c (%i6), the product a.b is not evaluated. If the matrices are multiplied in the order c.a.b (%i7), the product a.b is evaluated.
Is there a possibility to tell Maxima to simplify (%i6) by carrying out the operation a.b, without manually adding parentheses (i.e. "(a.b).c;").
Thanks!
Eric
(%i1) doallmxops;
(%o1) true
(%i2) domxmxops;
(%o2) true
(%i3) domxnctimes:true;
(%o3) true
(%i4) a:matrix([1 , 2, 3], [2,3,4] );
[ 1 2 3 ]
(%o4) [ ]
[ 2 3 4 ]
(%i5) b:matrix([2],[3],[4]);
[ 2 ]
[ ]
(%o5) [ 3 ]
[ ]
[ 4 ]
(%i6) a.b.c;
[ 2 ]
[ 1 2 3 ] [ ]
(%o6) [ ] . [ 3 ] . c
[ 2 3 4 ] [ ]
[ 4 ]
(%i7) c.a.b;
[ 20 ]
(%o7) c . [ ]
[ 29 ]
(%i8)