# The block AAA algorithm

### Ion Victor Gosea and Stefan Güttel, July 2020Download PDF or m-file

## Contents

## Introduction

Since version 2.9 the RKToolbox provides two new utility functions `util_block_aaa` and `util_rmse` for working with rational functions represented in a generalized barycentric form with matrix-valued weights,

In this notation, the are nonsingular weight matrices, the are pairwise distinct barycentric support points in the complex plane, and the are matrices. Different from the representation of rational functions computed by the RKFIT method [1], the AAA method [5] and its surrogate [2] and set-valued variants [4], the rational function has a nonscalar "denominator matrix polynomial." See [3] for more details and a number of numerical experiments with different representations of rational matrix-valued functions.

## Demonstration

We focus on a simple matrix-valued function to demonstrate the use of `util_block_aaa`. This function is defined as below and we sample it at 20 equidistant points on the interval :

F = @(z) [ 1/(z+1) 1/(z^2-5) z ; 1/(z^2+5+1i) (2+z^2)/(z^3+3*z^2+1) 7 ]; pts = linspace(0,10,20);

Together with an error tolerance `tol` and a number of maximal iterations `maxit`, we have all that is needed to reapproximate using `util_block_aaa`:

opts.tol = 1e-12; opts.maxit = 10; [R,rmse,out] = util_block_aaa(F,pts,opts);

The output `R` is a `baryfun` object and we can display its info as follows:

disp(R)

BARYFUN object of block size 2-by-3 and degree 5.

The output `rmse` stores the root mean squared error over all sampling points for each iteration of the block AAA method. In this case, we have resolved to about machine precision after 6 iterations:

semilogy(rmse) axis tight, hold on legend('block AAA') xlabel('iteration'), ylabel('RMSE') disp(['The final RMSE is ' num2str(util_rmse(pts,F,R)) ])

The final RMSE is 2.3012e-15

## References

[1] M. Berljafa and S. Güttel. *The RKFIT algorithm for nonlinear rational approximation,* SIAM J. Sci. Comput., 39(5):A2049--A2071, 2017.

[2] S. Elsworth and S. Güttel. *Conversions between barycentric, RKFUN, and Newton representations of rational interpolants,* Linear Algebra Appl., 576:246--257, 2019.

[3] I. V. Gosea and S. Güttel. *Algorithms for the rational approximation of matrix-valued functions,* arXiv preprint 2003.06410v1, 2020. (https://arxiv.org/abs/2003.06410)

[4] P. Lietaert, J. Perez, B. Vandereycken, and K. Meerbergen. *Automatic rational approximation and linearization of nonlinear eigenvalue problems,* arXiv preprint 1801.08622, 2018. (https://arxiv.org/pdf/1801.08622.pdf)

[5] Y. Nakatsukasa, O. Sete, and L. N. Trefethen. *The AAA algorithm for rational approximation,* SIAM J. Sci. Comput., 40(3):A1494--A1522, 2018.