F01JAF computes an estimate of the absolute condition number of a matrix function f at a real n by n matrix A in the 1-norm, where f is either the exponential, logarithm, sine, cosine, hyperbolic sine (sinh) or hyperbolic cosine (cosh). The evaluation of the matrix function, fA, is also returned.
The absolute condition number of
f at
A,
condabsf,A is given by the norm of the Fréchet derivative of
f,
LA,E, which is defined by
The Fréchet derivative in the direction
E,
LX,E is linear in
E and can therefore be written as
where the
vec operator stacks the columns of a matrix into one vector, so that
KX is
n2×n2. F01JAF computes an estimate
γ such that
γ
≤
KX
1
, where
KX
1
∈
n-1
LX
1
,
n
LX
1
. The relative condition number can then be computed via
The algorithm used to find
γ is detailed in Section 3.4 of
Higham (2008).
Higham N J (2008)
Functions of Matrices: Theory and Computation SIAM, Philadelphia, PA, USA
If on entry
IFAIL=0 or
-1, explanatory error messages are output on the current error message unit (as defined by
X04AAF).
F01JAF uses the norm estimation routine
F04YDF to estimate a quantity
γ, where
γ
≤
KX
1
and
KX
1
∈
n-1
LX
1
,
n
LX
1
. For further details on the accuracy of norm estimation, see the documentation for
F04YDF.
Approximately
6n2 of real allocatable memory is required by the routine, in addition to the memory used by the underlying matrix function routines
F01ECF,
F01EJF or
F01EKF.
F01JAF returns the matrix function
fA. This is computed using
F01ECF if
FUN='EXP',
F01EJF if
FUN='LOG' and
F01EKF otherwise. If only
fA is required, without an estimate of the condition number, then it is far more efficient to use
F01ECF,
F01EJF or
F01EKF directly.
F01KAF can be used to find the condition number of the exponential, logarithm, sine, cosine, sinh or cosh at a complex matrix.
This example estimates the absolute and relative condition numbers of the matrix sinh function where