A Julia package for computing scalar and matrix-valued functions of matrix variables and their Fréchet derivatives.
Released under the MIT license, see LICENSE file for details.
Copyright (C) 2023 Aravindh Krishnamoorthy and contributors.
Note: This package is still under development. The features with check marks below are available. Those without are to be developed.
- Chapter 1: Theory of Matrix Functions
- Chapter 4: Techniques for General Functions
- Chapter 9: Schur-Parlett Algorithm
- Chapter 13: Function of Matrix Times Vector:
$f(\boldsymbol{A})\boldsymbol{b}$ - Chapter 2: Applications
- Chapter 3: Conditioning
- Others
- Matrix function
fm(f, X)
-
fm_schur_parlett_recurrence(f, X)
File: schur_parlett.jl - ⚡
fm_schur_parlett_block(f, X)
File: schur_parlett.jl - ...
- Tests
- Code optimisation
-
- Fréchet derivative of a matrix function
fm_frechet(f, X, E)
-
fm_frechet_[...](f, X, E)
- ...
- Tests
- Code optimisation
-
- Matrix times vector
$f(\boldsymbol{X})\boldsymbol{y}$ fmv(f, X, y)
-
fmv_[..](f, X, y)
- ...
- Tests
- Code optimisation
-
- Matrix polynomial
pm(p, X)
-
pm_[...](f, X, E)
- ...
- Tests
- Code optimisation
-
- Fréchet derivative of a matrix polynomial
pm_frechet(f, X, E)
-
pm_frechet_[...](f, X, E)
- ...
- Tests
- Code optimisation
-
A Julia Pkg
package is not setup yet and will be done once implementation is complete. Until then, this package can be loaded as follows.
julia> include("/<path>/MatrixFunctions.jl/src/MatrixFunctions.jl")
[1] | Higham, Nicholas J. Functions of matrices: theory and computation. Society for Industrial and Applied Mathematics, 2008. |