Look Left, Look Right, Look Left Again: An Application of Fractal Symbolic Analysis to Linear Algebra Code Restructuring

Fractal symbolic analysis is a symbolic analysis technique for verifying the legality of program transformations. It is strictly more powerful than dependence analysis; for example, it can be used to verify the legality of blocking LU factorization with pivoting, a task for which dependence analysis is inadequate. In this paper, we show how fractal symbolic analysis can be used to convert between left- and right-looking versions of three kernels of central importance in computational science: triangular solve, Cholesky factorization, and LU factorization with pivoting.