Performance analysis of a pairwise method for partial inversion of complex block tridiagonal matrices. (2nd October 2018) - Spellacy, Louise; Golden, Darach; Rungger, Ivan
Summary: The algorithm detailed below extends previous work on inversion of block tridiagonal matrices from the Hermitian/symmetric case to the general case and allows for varying sub‐block sizes. The sub‐blocks of the matrix are evenly distributed across p processes. Local sub‐blocks are combined to form a matrix on each process. These matrices are inverted locally and the inverses are combined in a pairwise manner. At each combination step, the updates to the global inverse are represented by updating "matrix maps" on each process. The matrix maps are finally applied to the original local inverse to retrieve the block tridiagonal elements of the global inverse. This algorithm has been implemented in Fortran with MPI. Calculated inverses are compared with inverses obtained using the well known libraries ScaLAPACK and MUMPS. Results are given for matrices arising from Density Functional Theory applications.