To automatically download and install the Rational Krylov Toolbox, simply copy and paste
the following three lines to your MATLAB command window:

 unzip('http://guettel.com/rktoolbox/rktoolbox.zip');
addpath(fullfile(cd,'utils')); savepath

Alternatively, the toolbox can be downloaded manually from http://guettel.com/rktoolbox/rktoolbox.zip. To install it, unpack the zip file and add the main folder 'rktoolbox' and the subfolder 'utils' to your MATLAB path.

Versions

VersionReleaseChanges
2.6 (latest)2017-03-03 RAT_KRYLOV: added support for generating and rerunning block rational Arnoldi decompositions.
RKFUNM: added class for matrix-valued RKFUN's with basic linearize method.
OTHER: util_pencil_poles now works for block pencils and returns poles in mp format if requested; new function util_nleigs for sampling a nonlinear eigenvalue problem into an RKFUNM; new functions util_qr and util_pencil_blocksizes for block Arnoldi.
2.52016-11-04 GALLERY: New rational approximants (SQRT0H, SQRT2H, INVSQRT2H) on two disjoint intervals and indefinite intervals.
RKFUN: Fixed erroneous normalization in rdivide
OTHER: New examples on Zolotatev problems by Alex Townsend and the compression of exterior Helmholtz problems; new utility functions util_colfun, util_dtnfun, util_log2lin, util_markovfunmv, util_recover_rad, util_reorder_poles.
2.42016-06-01 RAT_KRYLOV Can now simulate the parallel generation of basis vectors using various continuation strategies; see also [5].
GALLERY: Fixed bug concerning the rational approximants SQRT, SIGN, and STEP (thanks to R. Luce and A. Townsend for pointing these out) and improved accuracy of these approximants.
OTHER: Four new examples on the parallel Arnoldi method and related new utility function util_continuation_fom; utility functions util_ellipjc and util_ellipkkp from the SC Toolbox [6].
2.32016-03-06 DIFF: Removed infinite generalized eigenvalues for the sampling (same in EZPLOT). Now supports MP, uses real Jordan form for real-valued (quasi) RADs.
FEVAL: Now works with quasi RADs. More efficient evaluation of r(A,V) for a block of vectors V.
RKFIT: Removed bug related to 'best'/'last' flag (was off by one index).
OTHER: Two new examples (FEAST, complex networks).
2.22015-09-28 RKFIT: changed default iteration number to 10; added return option to output 'best' (default) or 'last' approximant
RKFUN: reworked constructor and added support for symbolic strings; added gallery with Zolotarev rational functions, Moebius transforms, etc.; added support for composition with Moebius transforms, addition, multiplication, division, exponentiation; inverse function of Moebius transform; Newton correction in roots and 'real' option, also now using util_householder; now using some private functions; diff now samples at standard Ritz values
OTHER: new front web page; new example on rational filter design; Content.m and License.txt files added; restructured the test folder and added several new tests
2.12015-07-14 RAT_KRYLOV: added option for a waitbar;
RKFIT: fixed reduction strategy to achieve scaling-invariance for F and b;
OTHER: new utility functions (util_discretise_polygon, util_linearise_nlep), new examples on (non)linear eigenvalue problems and the semiseparable structure of rational Krylov projections
2.02015-06-13 RAT_KRYLOV: new pencil structure for (A,B) supported, allowing the use of function handles; allows for rerunning an existing rational Arnoldi decomposition; allows to expand an existing decomposition; parameter structure; supports classical and modified GS with or without reorthogonalisation; can do one iteration of iterative refinement for the linear system solves; fixed bug with near 0 poles;
HH2TH: can now deal with real-valued quasi-Hessenberg pencils;
RKFIT: generalized to nondiagonal approximants; automated degree reduction; allows for multiple "functions" F and a block of vectors in b; allows for weighting matrices D; changed to relative misfit; added output structure for more insight; rational function now returned as an RKFUN object; added utility function to convert data to real form if possible;
RKFUN: more efficient evaluation via rerunning; implemented as a class with 24 new methods; including root-finding, conversion to partial fraction form, and differentiation;
OTHER: new utils subfolder; added several examples and tests
1.02015-02-04First version of the toolbox

Planned features

The Rational Krylov Toolbox is under continuous development and new features will be added over time. Here is our current todo list:

• Make move_poles_expl preserve real pencils with complex conjugate eigenpairs.
• Write example for util_markovfunmv; see, e.g., [7].
• Add more unit tests for all functionalities.
• Block rational Krylov methods and biorthogonalization.
• Integration with MATLAB's Parallel Computing Toolbox.
• Matrix-valued RKFUN's (basic RKFUNM class added).

Acknowledgments

This web site was generated using MATLAB's publish command. The convenient 3-line Matlab code for automated download and installation of this toolbox was adapted from a similar code on the Chebfun website.

We are grateful to Pavel Holoborodko for providing and maintaining the powerful Advanpix multiprecision toolbox [1], and to Toby Driscoll for allowing us to include two elliptic function routines from [6].

We also acknowledge contributions to the example collection by Mary Aprahamian and Alex Townsend.

References

[1] Advanpix LLC., Multiprecision Computing Toolbox for MATLAB, ver 4.3.3.12213, Tokyo, Japan, 2017. http://www.advanpix.com.

[2] M. Berljafa and S. Güttel, A Rational Krylov Toolbox for MATLAB, MIMS EPrint 2014.56, Manchester Institute for Mathematical Sciences, The University of Manchester, UK, 2014. Available at http://eprints.ma.man.ac.uk/2390/.

[3] M. Berljafa and S. Güttel, Generalized rational Krylov decompositions with an application to rational approximation, SIAM J. Matrix Anal. Appl., 36(2):894--916, 2015.

[4] M. Berljafa and S. Güttel, The RKFIT algorithm for nonlinear rational approximation, MIMS EPrint 2015.38, Manchester Institute for Mathematical Sciences, The University of Manchester, UK, 2015. Available at http://eprints.ma.man.ac.uk/2530/.

[5] M. Berljafa and S. Güttel, Parallelization of the rational Arnoldi algorithm, MIMS EPrint 2016.32, Manchester Institute for Mathematical Sciences, The University of Manchester, UK, 2016. Available at http://eprints.ma.man.ac.uk/2503/. Accepted for publication in SIAM J. Sci. Comput., 2017.

[6] T. A. Driscoll, A MATLAB toolbox for Schwarz-Christoffel mapping, ACM Trans. Math. Soft., 22:168--186, 1996.

[7] S. Güttel and L. Knizhnerman, A black-box rational Arnoldi variant for Cauchy--Stieltjes matrix functions, BIT Numer. Math., 53(3):595--616, 2013.

[8] A. Ruhe, Rational Krylov: A practical algorithm for large sparse nonsymmetric matrix pencils, SIAM J. Sci. Comput., 19(5):1535--1551, 1998.