ABSTRACT

In their conventional formulation, the multipole translation operations M2M, M2L, and L2L carry cumbersome factorial coefficients. The scaling of regular and irregular solid harmonics suggested by White and Head-Gordon eliminates those coefficients and greatly improves the efficiency of multipole operations. This chapter provides a step-by-step derivation of the scaled multipole operations, gives examples of a naïve implementation in computer code of all three multipole operations, explains details that lead to a more optimized computer code, and provides an example of an OpenMP parallelization of the optimized codes. Optimization of the original naïve implementation includes showing how performance can be improved by determining continuous segments of azimuthal indices for the expansion terms, thus reducing the amount of branching in the code.