multiplication of several matrices: (part) expressions are not carried out



 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)