Although optimizing transformations have been studied for over two decades, the interactions between them is not well understood. This is particularly important for the success of parallelizing compilers. In order to deal with interactions, we view loop transformations as multiplication by a suitable matrix. The transformations considered are loop interchange, permutation, reversal, hyperplane ...