matrices, subscripts, and ratvars



When I multiply symbolic matrices with subscripted elements such as 


a: matrix([a00,a01],[a10,a11])

b: matrix([b00,b01],[b10,b11])


the product a . b returns as

matrix([a01*b10+a00*b00,a01*b11+a00*b01],[a11*b10+a10*b00,a11*b11+a10*b01]).

I need the terms ordered to match the conventional definition of multiplication, such
that the first element is a00*b00+a01*b10, and so on.


I am guessing that the problem is the reverse alphabetical
order used by Canonical 

Rational Expressions. If this guess is correct, I would further guess that I have to wrap 

dot inside a function that explicitly sets ratvars to match the elements of the matrices.

This is unappealing, and I hope I'm wrong. Please advise.