The complex step approximation to the Fréchet derivative of a matrix function

We show that the Fréchet derivative of a matrix function f at A in the direction E, where A and E are real matrices, can be approximated by Im f(A + ihE)/h for some suitably small h. This approximation, requiring a single function evaluation at a complex argument, generalizes the complex step approximation known in the scalar case. The approximation is proved to be of second order in h for analytic functions f and also for the matrix sign function. It is shown that it does not suffer the inherent cancellation that limits the accuracy of finite difference approximations in floating point arithmetic. However, cancellation does nevertheless vitiate the approximation when the underlying method for evaluating f employs complex arithmetic. The ease of implementation of the approximation, and its superiority over finite differences, make it attractive when specialized methods for evaluating the Fréchet derivative are not available, and in particular for condition number estimation when used in conjunction with a block 1-norm estimation algorithm.

[1]  Nicholas J. Higham,et al.  A Block Algorithm for Matrix 1-Norm Estimation, with an Application to 1-Norm Pseudospectra , 2000, SIAM J. Matrix Anal. Appl..

[2]  Awad H. Al-Mohy,et al.  A New Scaling and Squaring Algorithm for the Matrix Exponential , 2009, SIAM J. Matrix Anal. Appl..

[3]  J. N. Lyness Numerical algorithms based on the theory of complex variable , 1967, ACM National Conference.

[4]  S. Koikari,et al.  An error analysis of the modified scaling and squaring method , 2007, Comput. Math. Appl..

[5]  J. Demmel On condition numbers and the distance to the nearest ill-posed problem , 2015 .

[6]  Ji-guang Sun Perturbation analysis of the matrix sign function , 1997 .

[7]  Mei Han An,et al.  accuracy and stability of numerical algorithms , 1991 .

[8]  Awad H. Al-Mohy,et al.  Computing the Fréchet Derivative of the Matrix Exponential, with an Application to Condition Number Estimation , 2008, SIAM J. Matrix Anal. Appl..

[9]  W. Wright,et al.  The scaling and modified squaring method for matrix functions related to the exponential , 2009 .

[10]  Nicholas J. Higham,et al.  Exploiting fast matrix multiplication within the level 3 BLAS , 1990, TOMS.

[11]  J. N. Lyness,et al.  Numerical Differentiation of Analytic Functions , 1967 .

[12]  Solomon Rosenthal Proceedings of the 1967 22nd national conference , 1967 .

[13]  George Trapp,et al.  Using Complex Variables to Estimate Derivatives of Real Functions , 1998, SIAM Rev..

[14]  Nicholas J. Higham Stability of a Method for Multiplying Complex Matrices with Three Real Matrix Multiplications , 1992, SIAM J. Matrix Anal. Appl..

[15]  Lawrence F. Shampine,et al.  Accurate numerical derivatives in MATLAB , 2007, TOMS.

[16]  N. Higham The Scaling and Squaring Method for the Matrix Exponential Revisited , 2005, SIAM J. Matrix Anal. Appl..

[17]  Anders Logg,et al.  Efficient compilation of a class of variational forms , 2007, TOMS.

[18]  Joaquim R. R. A. Martins,et al.  The complex-step derivative approximation , 2003, TOMS.

[19]  Joaquim R. R. A. Martins,et al.  THE CONNECTION BETWEEN THE COMPLEX-STEP DERIVATIVE APPROXIMATION AND ALGORITHMIC DIFFERENTIATION , 2001 .

[20]  J. Crassidis,et al.  Extensions of the first and second complex-step derivative approximations , 2008 .

[21]  Souji Koikari,et al.  Algorithm 894: On a block Schur--Parlett algorithm for ϕ-functions based on the sep-inverse estimate , 2009, TOMS.

[22]  C. Kelley Solving Nonlinear Equations with Newton's Method , 1987 .

[23]  N. Higham Functions of Matrices: Theory and Computation (Other Titles in Applied Mathematics) , 2008 .

[24]  Nicholas J. Higham,et al.  A Schur-Parlett Algorithm for Computing Matrix Functions , 2003, SIAM J. Matrix Anal. Appl..

[25]  Timothy F. Havel,et al.  Derivatives of the Matrix Exponential and Their Computation , 1995 .

[26]  Nicholas J. Higham,et al.  Functions of matrices - theory and computation , 2008 .

[27]  Nicholas J. Higham,et al.  A Schur-Newton Method for the Matrix \lowercase{\boldmathp}th Root and its Inverse , 2006, SIAM J. Matrix Anal. Appl..

[28]  Bo Kågström,et al.  GEMM-based level 3 BLAS: high-performance model implementations and performance evaluation benchmark , 1998, TOMS.