Download the Rational Krylov Toolbox
To automatically download and install the Rational Krylov Toolbox,
simply copy and paste
the following two lines to your MATLAB command window:
unzip('http://guettel.com/rktoolbox/rktoolbox.zip'); cd('rktoolbox'); addpath(fullfile(cd)); 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' to your MATLAB path.
RAT_KRYLOV: Fixed QR permutation to maintain column structure in the block case.
Fixed issue with lucky breakdown in the real variant leading to a broken decomposition. Restructured breakdown tests and error messages.
Allow simulation of parallelisation in the block case. Allow construction of RK space when xi = . Now works with Advanpix MP Toolbox.|
RKFIT: Adaptive degree increment when run with xi =  until tolerance is reached.
Utility functions: Moved utility functions to main folder to simplify adding to path. util_bary2rkfun: corrected rng initialization; util_pencil_blocksize: improved documentation and changed to SVD for pole identification; move_poles_expl: changed ORDQZ call to use complex() in 3rd and 4th argument to avoid crash due to MATLAB 2018 bug.
OTHER: New examples on block Krylov methods (CD player MOR, vector autoregression, and block Ritz values of the Wilkinson matrix). Updated the guide.
Added utility function util_bary2rkfun, util_aaa,
util_matcell to work with barycentric approximants computed by the
RAT_KRYLOV: For the block-case, support to keep fat decompositions has been added, as well as Ruhe's QR-based continuation strategy (default). Balancing of matrix pencil (on by default).
OTHER: New example on AAA approximation and nonlinear eigenvalue problems. Updated the guide.
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.
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.
RAT_KRYLOV Can now simulate the parallel generation of basis vectors
using various continuation strategies; see also .|
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 .
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).
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
MOVE_POLES_IMPL: added 'real' option
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
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
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;
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.0||2015-02-04||First version of the toolbox|
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., .
- Add more unit tests for all functionalities.
- Block rational Krylov methods (basic implementation already added) and biorthogonalization.
- Integration with MATLAB's Parallel Computing Toolbox.
- Matrix-valued RKFUN's (basic RKFUNM class already added).
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 , and to Toby Driscoll for allowing us to include two elliptic function routines from .
We thank Yuji Nakatsukasa, Oliver Sete, and Nick Trefethen for the permission to include the AAA algorithm  as a utility function in the toolbox.
We also acknowledge contributions to the example collection by Mary Aprahamian and Alex Townsend.
 Advanpix LLC., Multiprecision Computing Toolbox for MATLAB, ver 18.104.22.16813, Tokyo, Japan, 2017. http://www.advanpix.com.
 M. Berljafa, S. Elsworth, 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.maths.manchester.ac.uk/2600/.
 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.
 M. Berljafa and S. Güttel, The RKFIT algorithm for nonlinear rational approximation, SIAM J. Sci. Comput., 39(5):A2049--A2071, 2017.
 M. Berljafa and S. Güttel, Parallelization of the rational Arnoldi algorithm, SIAM J. Sci. Comput., 39(5):S197--S221, 2017.
 T. A. Driscoll, A MATLAB toolbox for Schwarz-Christoffel mapping, ACM Trans. Math. Soft., 22:168--186, 1996.
 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.
 Y. Nakatsukasa, O. Sete, and L. N. Trefethen, The AAA algorithm for rational approximation, arXiv preprint arXiv:1612.00337, 2016.
 A. Ruhe, Rational Krylov: A practical algorithm for large sparse nonsymmetric matrix pencils, SIAM J. Sci. Comput., 19(5):1535--1551, 1998.