File Exchange

image thumbnail

Matrix Logarithm with Frechet Derivatives and Condition Number

version 1.0 (12.7 KB) by

Computing the matrix logarithm in real/complex arithmetic with derivatives and condition numbers.



View License

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.

Comments and Ratings (1)


Daniel (view profile)

MATLAB Release
MATLAB 8.0 (R2012b)

Inspired: Condition Numbers Comparison

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video