Imagine you have three random matrices $$ A = \left[ \begin{array}{cc} 1 & 2 \\ 3 & 4 \end{array} \right] ; \quad B = \left[ \begin{array}{cc} 3 & 4 \\ 5 & 6 \end{array} \right]; \quad C = \left[ \begin{array}{cc} 5 & 6 \\ 7 & 8 \end{array} \right]$$
Now if someone asks me what is $ABC$, I'd be doing the following: $$ ABC = (AB)C =\left[ \begin{array}{cc} 3 + 10 & 4 + 12 \\ 9 + 20 & 12 + 24 \end{array} \right] \cdot \left[ \begin{array}{cc} 5 & 6 \\ 7 & 8 \end{array} \right] = \left[ \begin{array}{cc} 177 & 206 \\ 397 & 462 \end{array} \right] $$ If I had $4$ matrices, I'd be doing $((A\cdot B)\cdot C)\cdot D$ and if I was smarter $(A\cdot B)\cdot (C \cdot D)$
And what about raising a matrix to some power. I'd be running around with same matrix, tactically trying to cut down on calculations by seeing repetitive patterns. Sometimes, it's just too boring.
Now as natural as our classical method may seem, for me, it's a bit clunky to deal with on paper. At the end of multiplication, I feel that all the water is going into one single bucket and I wasted my efforts diluting stuff in other buckets.
My question is simple, can I pour all the water into the same bucket in one go? That is, if I had a certain number of matrices to multiply, is there some way to multiply all of them together in one single step?