I need to calculate a very large product of matrices, (64 terms, each a 16x16 matrix). Specifically, 

```
L = Simplify[
Normal[Series[
  Dot @@ Table[MatrixExp[z a[i][R] Y[i]], {i, 1, 64}], {z, 0, 
   2}]]]; // AbsoluteTiming
Li = Simplify[
Normal[Series[
  Dot @@ Table[
    MatrixExp[-z a[(-1) (i - 64)][R] Y[(-1) (i - 64)]], {i, 0, 
     63}], {z, 0, 2}]]]; // AbsoluteTiming

```

where Y[m] are 16x16 matrices given as follows.

```
x = 8; nv = 8; Table[e[a, b] = Table[KroneckerDelta[a,c]KroneckerDelta[b, d], {c, 8 + nv}, {d, 8 + nv}], {a, 8 + nv}, {b, 8 + nv}]; Table[Y[i] = e[1, x + i] + e[x + i, 1], {i, nv}];Table[Y[i + nv] = e[2, x + i] + e[x + i, 2], {i, nv}]; Table[Y[i + 2 nv] = e[3, x + i] + e[x + i, 3], {i,nv}];Table[Y[i + 3 nv] = e[4, x + i] + e[x + i, 4], {i,nv}]; Table[Y[i + 4 nv] = e[5, x + i] + e[x + i, 5], {i,nv}]; Table[Y[i + 5 nv] = e[6, x + i] + e[x + i, 6], {i,nv}]; Table[Y[i + 6 nv] = e[7, x + i] + e[x + i, 7], {i,nv}]; Table[Y[i + 7 nv] = e[8, x + i] + e[x + i, 8], {i, nv}];

```

a[m][R] are just constants (unknowns). L and Li are inverse of each other, so their product is the 16x16 identity matrix. 

The outputs of the first 2 commands are

```
{881.187, Null}
{1028.31, Null}

```

which is more than 30 minutes, taken together. 

When the size of the product is smaller (42), with 13x13 matrices, the evaluation time is much shorter, but with the increased in matrix size as the number of terms, the time taken has increased by a lot.

Is there a way to significantly reduce the time for these operations? Possibly with the use of Activate/Inactive commands? I only have a vague idea of how Activate/Inactive works and I don't know how to apply those correctly to reduce the evaluating time. 

Many thanks.