Abstract
We revisit the problem of evaluating matrix polynomials and introduce memory and communication efficient algorithms. Our algorithms, based on that of Patterson and Stockmeyer, are more efficient than previous ones, while being as memory-efficient as Van Loan’s variant. We supplement our theoretical analysis of the algorithms, with matching lower bounds and with experimental results showing that our algorithms outperform existing ones.
This research is supported by grants 1878/14, 1901/14, 965/15 and 863/15 from the Israel Science Foundation, grant 3-10891 from the Israeli Ministry of Science and Technology, by the Einstein and Minerva Foundations, by the PetaCloud consortium, by the Intel Collaborative Research Institute for Computational Intelligence, by a grant from the US-Israel Bi-national Science Foundation, and by the HUJI Cyber Security Research Center.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ballard, G., Benson, A.R., Druinsky, A., Lipshitz, B., Schwartz, O.: Improving the numerical stability of fast matrix multiplication. SIAM J. Matrix Anal. Appl. 37, 1382–1418 (2016)
Ballard, G., Demmel, J., Holtz, O., Schwartz, O.: Minimizing communication in linear algebra. SIAM J. Matrix Anal. Appl. 32, 866–901 (2011)
Ballard, G., Demmel, J., Holtz, O., Schwartz, O.: Graph expansion and communication costs of fast matrix multiplication. J. ACM 59, 32 (2012)
Benson, A.R., Ballard, G.: A framework for practical parallel fast matrix multiplication. In: ACM SIGPLAN Notices, vol. 50, pp. 42–53 (2015)
Bini, D., Lotti, G.: Stability of fast algorithms for matrix multiplication. Numer. Math. 36, 63–72 (1980)
Davies, P.I., Higham, N.J.: A Schur-Parlett algorithm for computing matrix functions. SIAM J. Matrix Anal. Appl. 25, 464–485 (2003)
Deadman, E., Higham, N.J., Ralha, R.: Blocked schur algorithms for computing the matrix square root. In: Manninen, P., Öster, P. (eds.) PARA 2012. LNCS, vol. 7782, pp. 171–182. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36803-5_12
Demmel, J., Dumitriu, I., Holtz, O., Kleinberg, R.: Fast matrix multiplication is stable. Numer. Math. 106, 199–224 (2007)
Dongarra, J.J., Cruz, J.D., Hammarling, S., Duff, I.: A set of level 3 basic linear algebra subprograms. ACM Trans. Math. Softw. 16, 1–17 (1990)
Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: Proceedings of the 40th IEEE Annual Symposium on Foundations of Computer Science (FOCS), pp. 285–297 (1999)
Golub, G., Loan, C.V.: Matrix Computations, 4th edn. Johns Hopkins, Baltimore (2013)
Higham, N.J.: Functions of matrices: theory and algorithm. In: SIAM (2008)
Huang, J., Smith, T.M., Henry, G.M., van de Geijn, R.A.: Implementing Strassen’s algorithm with BLIS. arXiv preprint arXiv:1605.01078 (2016)
Huang, J., Smith, T.M., Henry, G.M., van de Geijn, R.A.: Strassen’s algorithm reloaded. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC), pp. 690–701. IEEE (2016)
Irony, D., Toledo, S., Tiskin, A.: Communication lower bounds for distributed-memory matrix multiplication. J. Par. Dist. Comput. 64, 1017–1026 (2004)
Jia-Wei, H., Kung, H.T.: I/o complexity: the red-blue pebble game. In: Proceedings of the Thirteenth Annual ACM Symposium on Theory of Computing (STOC), pp. 326–333, ACM, New York (1981)
Jonsson, I., Kågström, B.: Recursive blocked algorithms for solving triangular systems: Part II: two-sided and generalized Sylvester and Lyapunov matrix equations. ACM Trans. Math. Softw. 28, 416–435 (2002)
Kressner, D.: Block algorithms for reordering standard and generalized Schur forms. ACM Trans. Math. Softw. 32, 521–532 (2006)
Loan, C.F.V.: A note on the evaluation of matrix polynomials. IEEE Trans. Autom. Control AC 24, 320–321 (1979)
Parlett, B.N.: Computation of functions of triangular matrices. Memorandum ERL-M481, Electronics Research Laboratory, UC Berkeley, November 1974
Paterson, M.S., Stockmeyer, L.J.: On the number of nonscalar multiplications necessary to evaluate polynomials. SIAM J. Comput. 2, 60–66 (1973)
Strassen, V.: Gaussian elimination is not optimal. Num. Math. 13, 354–356 (1969)
Toledo, S.: A survey of out-of-core algorithms in numerical linear algebra. In: Abello, J.M., Vitter, J.S. (eds.), External Memory Algorithms, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pp. 161–179. American Mathematical Society (1999)
Winograd, S.: On multiplication of 2-by-2 matrices. Linear Algebra Appl. 4, 381–388 (1971)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Hoffman, N., Schwartz, O., Toledo, S. (2018). Efficient Evaluation of Matrix Polynomials. In: Wyrzykowski, R., Dongarra, J., Deelman, E., Karczewski, K. (eds) Parallel Processing and Applied Mathematics. PPAM 2017. Lecture Notes in Computer Science(), vol 10777. Springer, Cham. https://doi.org/10.1007/978-3-319-78024-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-78024-5_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-78023-8
Online ISBN: 978-3-319-78024-5
eBook Packages: Computer ScienceComputer Science (R0)