Closed
Description
openedon Feb 17, 2014
Higham and Deadman have published a list of software implementing algorithms for matrix functions, showing that Julia's library for these functions could be improved greatly relative to the state of the art.
The purpose of this issue is to discuss and track the implementation of matrix functions.
From Higham and Deadman's list:
General function evaluations
- General matrix function with derivatives of the underlying scalar function available: Schur–Parlett algorithm (Davies and Higham, 2003)
- Function of a symmetric or Hermitian matrix by diagonalization
- Condition number estimate for general functions:
cond(f,A)
- matrix function - vector product evaluation:
f(A) * b
Specific functions
-
expm
: scaling and squaring algorithm (Al-Mohy and Higham, 2009) -
logm
: inverse scaling and squaring algorithm (Al-Mohy, Higham, and Relton, 2012,
2013) -
sqrtm
:- Schur algorithm (Björck and Hammarling, 1983)
- real version for real matrices (Higham, 1987)
- blocking algorithm for performance improvements (Deadman, Higham, and Ralha, 2013)
-
A^t
for real matrix powers: Schur– Padé algorithm (Higham and Lin, 2013) (Fixed the algorithm for powers of a matrix. #21184) - Matrix unwinding function
Fréchet derivatives
- Exponential: scaling and squaring algorithm (Al-Mohy and Higham, 2009)
- Logarithm: inverse scaling and squaring algorithm (Al-Mohy, Higham, and Relton, 2013)
- General matrix function: complex step algorithm (Al-Mohy and Higham, 2010) or using block 2 × 2 matrix formula.
-
A^t
for real matrix powers: Schur– Padé algorithm (Higham and Lin, 2013)
Miscellaneous functions
-
inv
anddet
forTridiagonal
andSymTridiagonal
matrices (Usmani, 1994) (Provide inv and det of Tridiagonal and SymTridiagonal matrices #5358)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment