I am having a problem which I guess is due to version difference. I have to generate a list of unitary matrices, which I can do easily. However I came to know about Parallelize command by which I wanted to speed the process. First the Hamiltonian (if anybody really wants to check)
X = 1/Sqrt[2] {{0, 1, 0}, {1, 0, 1}, {0, 1, 0}};
Y = I/Sqrt[2] {{0, -1, 0}, {1, 0, -1}, {0, 1, 0}};
Z = DiagonalMatrix[{1, 0, -1}];
Subscript[S, 1, x] = KroneckerProduct[X, IdentityMatrix[3], IdentityMatrix[3]];
Subscript[S, 2, x] = KroneckerProduct[IdentityMatrix[3], X, IdentityMatrix[3]];
Subscript[S, 3, x] = KroneckerProduct[IdentityMatrix[3], IdentityMatrix[3], X];
Subscript[S, 1, y] = KroneckerProduct[Y, IdentityMatrix[3], IdentityMatrix[3]];
Subscript[S, 2, y] = KroneckerProduct[IdentityMatrix[3], Y, IdentityMatrix[3]];
Subscript[S, 3, y] = KroneckerProduct[IdentityMatrix[3], IdentityMatrix[3], Y];
Subscript[S, 1, z] = KroneckerProduct[Z, IdentityMatrix[3], IdentityMatrix[3]];
Subscript[S, 2, z] = KroneckerProduct[IdentityMatrix[3], Z, IdentityMatrix[3]];
Subscript[S, 3, z] = KroneckerProduct[IdentityMatrix[3], IdentityMatrix[3], Z];
H = Sum[Sum[(Subscript[S, i, x].Subscript[S, j, x] +
Subscript[S, i, y].Subscript[S, j, y] +
Subscript[S, i, z].Subscript[S, j, z]), {j, i + 1, 3}], {i, 1,
3}];
Now, the table
unitary = ParallelTable[Chop[N[MatrixExp[I θ H]]], {θ, 0, 1, 1/100}]; // Timing
The problem is, it is not working in Mathematica 7 and gives the following errors:
MatrixExp::matsq: Argument 0 at position 1 is not a nonempty square matrix.
Mathematica 8 gives result without any trouble and error! I guess it is due to some version difference. Can someone give me a workaround method for both Mathematica 6 and 7? I can only use 6 for any lengthy calculation, and it seems to speed up the calculations a lot.

