Matrix Logarithm with Frechet Derivatives and Condition Number
Computes the log(A) for any square matrix A with non-negative eigenvalues using the inverse scaling and squaring algorithm. When A is real this algorithm uses only real arithmetic. It is also possible to compute the Frechet derivative of log(A) in any direction E and cond(log, A) to give some idea of the accuracy.
This code can be called in the following ways:
X = logm_frechet(A)
L = logm_frechet(A,E)
[X, cond] = logm_frechet(A)
[X, L] = logm_frechet(A,E)
[X, L, cond] = logm_frechet(A,E)
where X is log(A), L is the Frechet derivative and cond is the condition number.
Function LOGM_FRECHET_TEST.M runs a simple test of the codes.
More detail on the algorithm can be found in:
A. H. Al-Mohy, N. J. Higham and S. D. Relton. Computing the Frechet Derivative of the Matrix Logarithm and Estimating the Condition Number, MIMS Eprint 2012.72, Manchester Institute for Mathematical Sciences, The University of Manchester, UK, July 2012.
http://eprints.ma.man.ac.uk/1852/
Cite As
Samuel Relton (2025). Matrix Logarithm with Frechet Derivatives and Condition Number (https://www.mathworks.com/matlabcentral/fileexchange/38894-matrix-logarithm-with-frechet-derivatives-and-condition-number), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- AI and Statistics > Statistics and Machine Learning Toolbox > Dimensionality Reduction and Feature Extraction >
Tags
Acknowledgements
Inspired: Condition Numbers Comparison
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |