Jarlebring, Elias and Fasi, Massimiliano and Ringh, Emil (2021) Computational graphs for matrix functions. [MIMS Preprint]
Text
jfr21.pdf Download (758kB) |
Abstract
Many numerical methods for evaluating matrix functions can be naturally viewed as computational graphs. Rephrasing these methods as directed acyclic graphs (DAGs) is a particularly effective way to study existing techniques, improve them, and eventually derive new ones. As the accuracy of these matrix techniques is determined by the accuracy of their scalar counterparts, the design of algorithms for matrix functions can be viewed as a scalar-valued optimization problem. The derivatives needed during the optimization can be calculated automatically by exploiting the structure of the DAG, in a fashion akin to backpropagation. The Julia package GraphMatFun.jl offers the tools to generate and manipulate computational graphs, to optimize their coefficients, and to generate Julia, MATLAB, and C code to evaluate them efficiently. The software also provides the means to estimate the accuracy of an algorithm and thus obtain numerically reliable methods. For the matrix exponential, for example, using a particular form (degree-optimal) of polynomials produces algorithms that are cheaper, in terms of computational cost, than the Padé-based techniques typically used in mathematical software. The optimized graphs and the corresponding generated code are available online.
Item Type: | MIMS Preprint |
---|---|
Subjects: | MSC 2010, the AMS's Mathematics Subject Classification > 65 Numerical analysis |
Depositing User: | Mr Massimiliano Fasi |
Date Deposited: | 26 Jul 2021 11:37 |
Last Modified: | 26 Jul 2021 11:37 |
URI: | https://eprints.maths.manchester.ac.uk/id/eprint/2829 |
Available Versions of this Item
- Computational graphs for matrix functions. (deposited 26 Jul 2021 11:37) [Currently Displayed]
Actions (login required)
View Item |