In this report a method for common subexpression elimination in matrices is explored. The method is applied to several types of matrices occurring in numerical simulations. In all cases, the cost of a matrix-vector multiplication is reduced by a significant amount. The amount of storage required for the eliminated matrices is also less than that required for the original matrices. When the proposed method is applied to the Fourier transform matrix, the output is equivalent to the fast Fourier transform. For some matrices used in the fast multipole method for dislocation dynamics, the cost of a matrix-vector multiplication is reduced from O(p 6 ) to O(p 4.5 ), where p is the expansion order. Using an expansion order of 5, one can expect a factor of four speedup of the fast multipole part of a dislocation dynamics code.