This chapter provides facilities for
four
types of problem:
(i)  Matrix Inversion 
(ii)  Matrix Factorizations 
(iii)  Matrix Arithmetic and Manipulation 
(iv)  Matrix Functions 
These problems are discussed separately in
[Matrix Inversion], [Matrix Factorizations], [Matrix Arithmetic and Manipulation] and [Matrix Functions].
Syntax
C# 

public static class F01 
Visual Basic 

Public NotInheritable Class F01 
Visual C++ 

public ref class F01 abstract sealed 
F# 

[<AbstractClassAttribute>] [<SealedAttribute>] type F01 = class end 
Background to the Problems
Matrix Inversion
(i)  Nonsingular square matrices of order $n$.
If $A$, a square matrix of order $n$, is nonsingular (has rank $n$), then its inverse $X$ exists and satisfies the equations $AX=XA=I$ (the identity or unit matrix).
It is worth noting that if $AXI=R$, so that $R$ is the ‘residual’ matrix, then a bound on the relative error is given by $\Vert R\Vert $, i.e.,


(ii)  General real rectangular matrices.
A real matrix $A$ has no inverse if it is square ($n$ by $n$) and singular (has rank $\text{}<n$), or if it is of shape ($m$ by $n$) with $m\ne n$, but there is a Generalized or Pseudoinverse
${A}^{+}$ which satisfies the equations

Matrix Factorizations
The methods in this section perform matrix factorizations which are required for the solution of systems of linear equations with various special structures. A few methods which perform associated computations are also included.
Other methods for matrix factorizations are to be found in F07 class F08 class (F11 not in this release).
This section also contains a few methods associated with eigenvalue problems (see (F02 not in this release)). (Historical note: this section used to contain many more such methods, but they have now been superseded by methods in F08 class.)
Matrix Arithmetic and Manipulation
The intention of methods in this section (subchapters F01C, F01V and F01Z) is to cater for some of the commonly occurring operations in matrix manipulation, e.g., transposing a matrix or adding part of one matrix to another, and for conversion between different storage formats, e.g., conversion between rectangular band matrix storage and packed band matrix storage. For vector or matrixvector or matrixmatrix operations refer to F06 class (F16 not in this release).
Matrix Functions
Given a square matrix $A$, the matrix function $f\left(A\right)$ is a matrix with the same dimensions as $A$ which provides a generalization of the scalar function $f$.
If $A$ has a full set of eigenvectors $V$ then $A$ can be factorized as
where $D$ is the diagonal matrix whose diagonal elements, ${d}_{i}$, are the eigenvalues of $A$. $f\left(A\right)$ is given by
where $f\left(D\right)$ is the diagonal matrix whose $i$th diagonal element is $f\left({d}_{i}\right)$.
$$A=VD{V}^{1}\text{,}$$ 
$$f\left(A\right)=Vf\left(D\right){V}^{1}\text{,}$$ 
In general, $A$ may not have a full set of eigenvectors. The matrix function can then be defined via a Cauchy integral. For $A\in {\u2102}^{n\times n}$,
where $\Gamma $ is a closed contour surrounding the eigenvalues of $A$, and $f$ is analytic within $\Gamma $.
$$f\left(A\right)=\frac{1}{2\pi i}{\int}_{\Gamma}f\left(z\right){\left(zIA\right)}^{1}dz\text{,}$$ 
Some matrix functions are defined implicitly. A matrix logarithm is a solution $X$ to the equation
$${e}^{X}=A\text{.}$$ 
In general $X$ is not unique, but if $A$ has no eigenvalues on the closed negative real line then a unique principal logarithm exists whose eigenvalues have imaginary part between $\pi $ and $\pi $. Similarly, a matrix square root is a solution $X$ to the equation
$${X}^{2}=A\text{.}$$ 
If $A$ has no eigenvalues on the closed negative real line then a unique principal square root exists with eigenvalues in the right halfplane. If $A$ has a vanishing eigenvalue then $\mathrm{log}\left(A\right)$ cannot be computed. If the vanishing eigenvalue is defective (its algebraic multiplicity exceeds its geometric multiplicity, or equivalently it occurs in a Jordan block of size greater than $1$) then the square root cannot be computed. If the vanishing eigenvalue is semisimple (its algebraic and geometric multiplicities are equal, or equivalently it occurs only in Jordan blocks of size $1$) then a square root can be computed.
Algorithms for computing matrix functions are usually tailored to a specific function. Currently F01 class contains routines for calculating the exponential, logarithm, sine, cosine, sinh, cosh, square root and general real power of both real and complex matrices. In addition there are routines to compute a general function of real symmetric and complex Hermitian matrices and a general function of general real and complex matrices.
The Fréchet derivative of a matrix function $f\left(A\right)$ in the direction of the matrix $E$ is the linear function mapping $E$ to ${L}_{f}\left(A,E\right)$ such that
$$f\left(A+E\right)f\left(A\right){L}_{f}\left(A,E\right)=\mathit{O}\left(\Vert E\Vert \right)\text{.}$$ 
The Fréchet derivative measures the firstorder effect on $f\left(A\right)$ of perturbations in $A$. F01 class contains methods for calculating the Fréchet derivative of the exponential, logarithm and real powers of both real and complex matrices.
The condition number of a matrix function is a measure of its sensitivity to perturbations in the data. The absolute condition number measures these perturbations in an absolute sense, and is defined by
$${\mathrm{cond}}_{\mathrm{abs}}\left(f,A\right):={\mathrm{lim}}_{\epsilon \to 0}{\mathrm{sup}}_{\left\{\Vert E\Vert \to 0\right\}}\frac{\Vert f\left(A+E\right)f\left(A\right)\Vert}{\epsilon}\text{.}$$ 
The relative condition number, which is usually of more interest, measures these perturbations in a relative sense, and is defined by
$${\mathrm{cond}}_{\mathrm{rel}}\left(f,A\right)={\mathrm{cond}}_{\mathrm{abs}}\left(f,A\right)\frac{\Vert A\Vert}{\Vert f\left(A\right)\Vert}\text{.}$$ 
The absolute and relative condition numbers can be expressed in terms of the norm of the Fréchet derivative by
$${\mathrm{cond}}_{\mathrm{abs}}\left(f,A\right)={\mathrm{max}}_{E\ne 0}\frac{\Vert L\left(A,E\right)\Vert}{\Vert E\Vert}\text{,}$$ 
$${\mathrm{cond}}_{\mathrm{rel}}\left(f,A\right)=\frac{\Vert A\Vert}{\Vert f\left(A\right)\Vert}{\mathrm{max}}_{E\ne 0}\frac{\Vert L\left(A,E\right)\Vert}{\Vert E\Vert}\text{.}$$ 
F01 class contains routines for calculating the condition number of the matrix exponential, logarithm, sine, cosine, sinh, cosh, square root and general real power of both real and complex matrices. It also contains routines for estimating the condition number of a general function of a real or complex matrix.
Recommendations on Choice and Use of Available Methods
Matrix Inversion
Note: before using any method for matrix inversion, consider carefully whether it is really needed.
Although the solution of a set of linear equations $Ax=b$ can be written as $x={A}^{1}b$, the solution should never be computed by first inverting $A$ and then computing ${A}^{1}b$; the methods in (F04 not in this release) F07 class should always be used to solve such sets of equations directly; they are faster in execution, and numerically more stable and accurate. Similar remarks apply to the solution of least squares problems which again should be solved by using the methods in
(F04 not in this release) F08 class
rather than by computing a pseudoinverse.
(a)  Nonsingular square matrices of order $n$ This chapter describes techniques for inverting a general real matrix $A$ and matrices which are positive definite (have all eigenvalues positive) and are either real and symmetric or complex and Hermitian. It is wasteful and uneconomical not to use the appropriate method when a matrix is known to have one of these special forms. A general method must be used when the matrix is not known to be positive definite. In most methods the inverse is computed by solving the linear equations $A{x}_{\mathit{i}}={e}_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,n$, where ${e}_{i}$ is the $i$th column of the identity matrix.
Methods are given for calculating the approximate inverse, that is solving the linear equations just once, and also for obtaining the accurate inverse by successive iterative corrections of this first approximation. The latter, of course, are more costly in terms of time and storage, since each correction involves the solution of $n$ sets of linear equations and since the original $A$ and its $LU$ decomposition must be stored together with the first and successively corrected approximations to the inverse. In practice the storage requirements for the ‘corrected’ inverse methods are about double those of the ‘approximate’ inverse methods, though the extra computer time is not prohibitive since the same matrix and the same $LU$ decomposition is used in every linear equation solution.
Despite the extra work of the ‘corrected’ inverse methods they are superior to the ‘approximate’ inverse methods. A correction provides a means of estimating the number of accurate figures in the inverse or the number of ‘meaningful’ figures relating to the degree of uncertainty in the coefficients of the matrix.
The residual matrix $R=AXI$, where $X$ is a computed inverse of $A$, conveys useful information. Firstly
$\Vert R\Vert $ is a bound on the relative error in $X$ and secondly $\Vert R\Vert <\frac{1}{2}$ guarantees the convergence of the iterative process in the ‘corrected’ inverse methods.
The decision trees for inversion show which methods in
(F04 not in this release) and
F07 class should be used for the inversion of other special types of matrices not treated in the chapter. 
(b)  General real rectangular matrices
For real matrices (F08AEF not in this release) and (F01QJF not in this release) return $QR$ and $RQ$ factorizations of $A$ respectively and f08bf returns the $QR$ factorization with column interchanges. The corresponding complex methods are (F08ASF not in this release), (F01RJF not in this release) and (F08BTF not in this release) respectively. Methods are also provided to form the orthogonal matrices and transform by the orthogonal matrices following the use of the above methods. (F01QGF not in this release) (F01RGF not in this release) form the $RQ$ factorization of an upper trapezoidal matrix for the real and complex cases respectively.
(F01BLF not in this release) uses the $QR$ factorization as described in [Matrix Inversion](ii)(a) and is the only method that explicitly returns a pseudoinverse. If $m\ge n$, then the method will calculate the pseudoinverse ${A}^{+}$ of the matrix $A$. If $m<n$, then the $n$ by $m$ matrix ${A}^{\mathrm{T}}$ should be used. The method will calculate the pseudoinverse $Z={\left({A}^{\mathrm{T}}\right)}^{+}={\left({A}^{+}\right)}^{\mathrm{T}}$ of ${A}^{\mathrm{T}}$ and the required pseudoinverse will be ${Z}^{\mathrm{T}}$. The method also attempts to calculate the rank, $r$, of the matrix given a tolerance to decide when elements can be regarded as zero. However, should this method fail due to an incorrect determination of the rank, the singular value decomposition method (described below) should be used.
f08kb and f08kp
compute the singular value decomposition as described in [Background to the Problems] for real and complex matrices respectively. If $A$ has rank $r\le k=\mathrm{min}\phantom{\rule{0.125em}{0ex}}\left(m,n\right)$ then the $kr$ smallest singular values will be negligible and the pseudoinverse of $A$ can be obtained as ${A}^{+}=V{\Sigma}^{1}{U}^{\mathrm{T}}$ as described in [Background to the Problems]. If the rank of $A$ is not known in advance it can be estimated from the singular values (see [Matrix Functions] in the F04 class Chapter Introduction).
In the real case with $m\ge n$, (F02WDF not in this release) provides details of the $QR$ factorization or the singular value decomposition depending on whether or not $A$ is of full rank and for some problems provides an attractive alternative to f08kb.
For large sparse matrices, leading terms in the singular value decomposition can be computed using methods from (F12 not in this release). 
Matrix Factorizations
Each of these methods serves a special purpose required for the solution of sets of simultaneous linear equations or the eigenvalue problem. For further details you should consult [Recommendations on Choice and Use of Available Methods] or [Decision Trees] in the F02 class Chapter Introduction or [Recommendations on Choice and Use of Available Methods] or [Decision Trees] in the F04 class Chapter Introduction.
(F01BRF not in this release) (F01BSF not in this release) are
provided for factorizing general real sparse matrices. A more recent algorithm for the same problem is available through (F11MEF not in this release). For factorizing real symmetric positive definite sparse matrices, see (F11JAF not in this release). These methods should be used only when $A$ is not banded and when the total number of nonzero elements is less than 10% of the total number of elements. In all other cases either the band methods or the general methods should be used.
Matrix Arithmetic and Manipulation
The methods in the F01C section are designed for the general handling of $m$ by $n$ matrices. Emphasis has been placed on flexibility in the parameter specifications and on avoiding, where possible, the use of internally declared arrays. They are therefore suited for use with large matrices of variable row and column dimensions. Methods are included for the addition and subtraction of submatrices of larger matrices, as well as the standard manipulations of full matrices. Those methods involving matrix multiplication may use additionalprecision arithmetic for the accumulation of inner products. See also F06 class.
The methods in the F01V (LAPACK) and F01Z section are designed to allow conversion between full storage format and one of the packed storage schemes required by some of the methods in (F02 not in this release) (F04 not in this release) F06 class F07 class F08 class.
NAG Names and LAPACK Names
Methods with NAG name beginning F01V may be called either by their NAG names or by their LAPACK names. When using the NAG Library, the double precision form of the LAPACK name must be used (beginning with D or Z).
References to F01 class methods in the manual normally include the LAPACK double precision names, for example, f01ve.
The LAPACK method names follow a simple scheme (which is similar to that used for the BLAS in F06 class). Most names have the structure XYYTZZ, where the components have the following meanings:
– the initial letter, X, indicates the data type (real or complex) and precision:
 S – real, single precision (in Fortran, 4 byte length REAL)
 D – real, double precision (in Fortran, 8 byte length REAL)
 C – complex, single precision (in Fortran, 8 byte length COMPLEX)
 Z – complex, double precision (in Fortran, 16 byte length COMPLEX)
– the fourth letter, T, indicates that the method is performing a storage scheme transformation (conversion)
– the letters YY indicate the original storage scheme used to store a triangular part of the matrix $A$, while the letters ZZ indicate the target storage scheme of the conversion (YY cannot equal ZZ since this would do nothing):
 TF – Rectangular Full Packed Format (RFP)
 TP – Packed Format
 TR – Full Format
Matrix Functions
(F01ECF not in this release) f01fc compute the matrix exponential, ${e}^{A}$, of a real and complex square matrix $A$ respectively. If estimates of the condition number of the matrix exponential are required then (F01JGF not in this release) (F01KGF not in this release) should be used. If Fréchet derivatives are required then (F01JHF not in this release) (F01KHF not in this release) should be used.
f01ed and f01fd compute the matrix exponential, ${e}^{A}$, of a real symmetric and complex Hermitian matrix respectively. If the matrix is real symmetric, or complex Hermitian then it is recommended that f01ed, or f01fd be used as they are more efficient and, in general, more accurate than (F01ECF not in this release) f01fc.
(F01EJF not in this release) (F01FJF not in this release) compute the principal matrix logarithm, $\mathrm{log}\left(A\right)$, of a real and complex square matrix $A$ respectively. If estimates of the condition number of the matrix logarithm are required then (F01JJF not in this release) (F01KJF not in this release) should be used. If Fréchet derivatives are required then (F01JKF not in this release) (F01KKF not in this release) should be used.
(F01EKF not in this release) (F01FKF not in this release) compute the matrix exponential, sine, cosine, sinh or cosh of a real and complex square matrix $A$ respectively. If the matrix exponential is required then it is recommended that (F01ECF not in this release) f01fc be used as they are, in general, more accurate than (F01EKF not in this release) (F01FKF not in this release). If estimates of the condition number of the matrix function are required then (F01JAF not in this release) (F01KAF not in this release) should be used.
(F01ELF not in this release) (F01EMF not in this release) compute the matrix function, $f\left(A\right)$, of a real square matrix.
(F01FLF not in this release) (F01FMF not in this release) compute the matrix function of a complex square matrix. The derivatives of $f$ are required for these computations. (F01ELF not in this release) (F01FLF not in this release) use numerical differentiation to obtain the derivatives of $f$. (F01EMF not in this release) (F01FMF not in this release) use derivatives you have supplied. If estimates of the condition number are required but you are not supplying derivatives then (F01JBF not in this release) (F01KBF not in this release) should be used.
If estimates of the condition number of the matrix function are required and you are supplying derivatives of $f$, then (F01JCF not in this release) (F01KCF not in this release) should be used.
If the matrix $A$ is real symmetric or complex Hermitian then it is recommended that to compute the matrix function, $f\left(A\right)$, f01ef and f01ff are used respectively as they are more efficient and, in general, more accurate than
(F01ELF not in this release) (F01EMF not in this release) (F01FLF not in this release) (F01FMF not in this release).
(F01GAF not in this release) (F01HAF not in this release) compute the matrix function ${e}^{tA}B$ for explicitly stored dense real and complex matrices $A$ and $B$ respectively while (F01GBF not in this release) (F01HBF not in this release) compute the same using reverse communication. In the latter case, control is returned to you. You should calculate any required matrixmatrix products and then call the method again.
(F01ENF not in this release) (F01FNF not in this release) compute the principal square root ${A}^{1/2}$ of a real and complex square matrix $A$ respectively. If $A$ is complex and upper triangular then (F01FPF not in this release) should be used. If $A$ is real and upper quasitriangular then (F01EPF not in this release) should be used. If estimates of the condition number of the matrix square root are required then (F01JDF not in this release) (F01KDF not in this release) should be used.
(F01EQF not in this release) (F01FQF not in this release) compute the matrix power ${A}^{p}$, where $p\in \mathbb{R}$, of real and complex matrices respectively. If estimates of the condition number of the matrix power are required then (F01JEF not in this release) (F01KEF not in this release) should be used. If Fréchet derivatives are required then (F01JFF not in this release) (F01KFF not in this release) should be used.
Decision Trees
The decision trees show the methods in this chapter and in (F04 not in this release), F07 class and F08 class that should be used for inverting matrices of various types. They also show which method should be used to calculate various matrix functions.
(i) Matrix Inversion:
Tree 1
Is $A$ an $n$ by $n$ matrix of rank $n$?  _ yes 
Is $A$ a real matrix?  _ yes 
see Tree 2 
  no  

  see Tree 3  
no  

see Tree 4 
Tree 2: Inverse of a real n by n matrix of full rank
Is $A$ a band matrix?  _ yes 
See Note 1.  
no  

Is $A$ symmetric?  _ yes 
Is $A$ positive definite?  _ yes 
Do you want guaranteed accuracy? (See Note 2)  _ yes 
(F01ABF not in this release) 
    no  

    Is one triangle of $A$ stored as a linear array?  _ yes 
(F07GDF not in this release) (F07GJF not in this release)  
    no  

    (F01ADF not in this release) or (F07FDF not in this release) (F07FJF not in this release)  
  no  

  Is one triangle of $A$ stored as a linear array?  _ yes 
(F07PDF not in this release) (F07PJF not in this release)  
  no  

  (F07MDF not in this release) (F07MJF not in this release)  
no  

Is $A$ triangular?  _ yes 
Is $A$ stored as a linear array?  _ yes 
(F07UJF not in this release)  
  no  

  f07tj  
no  

Do you want guaranteed accuracy? (See Note 2)  _ yes 
(F04AEF not in this release)  
no  

(F07ADF not in this release) (F07AJF not in this release) 
Tree 3: Inverse of a complex n by n matrix of full rank
Is $A$ a band matrix?  _ yes 
See Note 1.  
no  

Is $A$ Hermitian?  _ yes 
Is $A$ positive definite?  _ yes 
Is one triangle of $A$ stored as a linear array?  _ yes 
(F07GRF not in this release) (F07GWF not in this release) 
    no  

    (F07FRF not in this release) (F07FWF not in this release)  
  no  

  Is one triangle $A$ stored as a linear array?  _ yes 
(F07PRF not in this release) (F07PWF not in this release)  
  no  

  (F07MRF not in this release) (F07MWF not in this release)  
no  

Is $A$ symmetric?  _ yes 
Is one triangle of $A$ stored as a linear array?  _ yes 
(F07QRF not in this release) (F07QWF not in this release)  
  no  

  (F07NRF not in this release) (F07NWF not in this release)  
no  

Is $A$ triangular?  _ yes 
Is $A$ stored as a linear array?  _ yes 
(F07UWF not in this release)  
  no  

  (F07TWF not in this release)  
no  

(F07ANF not in this release) or f07ar (F07AWF not in this release) 
Tree 4: Pseudoinverses
Is $A$ a complex matrix?  _ yes 
Is $A$ of full rank?  _ yes 
Is $A$ an $m$ by $n$ matrix with $m<n$?  _ yes 
(F01RJF not in this release) and (F01RKF not in this release) 
    no  

    (F08ASF not in this release) (F08AUF not in this release) or (F08ATF not in this release)  
  no  

  f08kp  
no  

Is $A$ of full rank?  _ yes 
Is $A$ an $m$ by $n$ matrix with $m<n$?  _ yes 
(F01QJF not in this release) and (F01QKF not in this release)  
  no  

  (F08AEF not in this release) f08ag or (F08AFF not in this release)  
no  

Is $A$ an $m$ by $n$ matrix with $m<n$?  _ yes 
f08kb  
no  

Is reliability more important than efficiency?  _ yes 
f08kb  
no  

(F01BLF not in this release) 
Note 1: the inverse of a band matrix $A$ does not in general have the same shape as $A$, and no methods are provided specifically for finding such an inverse. The matrix must either be treated as a full matrix, or the equations $AX=B$ must be solved, where $B$ has been initialized to the identity matrix $I$. In the latter case, see the decision trees in [Decision Trees] in the F04 class Chapter Introduction.
Note 2: by ‘guaranteed accuracy’ we mean that the accuracy of the inverse is improved by use of the iterative refinement technique using additional precision.
(iii) Matrix Arithmetic and Manipulation: not appropriate.
(iv)
Matrix Functions:
Tree 5: Matrix functions $f\left(A\right)$ of an n by n real matrix $A$
Is ${e}^{tA}B$ required?  _ yes 
Is $A$ stored in dense format?  _ yes 
(F01GAF not in this release) 
  no  

  (F01GBF not in this release)  
no  

Is $A$ real symmetric?  _ yes 
Is ${e}^{A}$ required?  _ yes 
f01ed 
  no  

  f01ef  
no  

Is $\mathrm{cos}\left(A\right)$ or $\mathrm{cosh}\left(A\right)$ or $\mathrm{sin}\left(A\right)$ or $\mathrm{sinh}\left(A\right)$ required?  _ yes 
Is the condition number of the matrix function required?  _ yes 
(F01JAF not in this release) 
  no  

  (F01EKF not in this release)  
no  

Is $\mathrm{log}\left(A\right)$ required?  _ yes 
Is the condition number of the matrix logarithm required?  _ yes 
(F01JJF not in this release) 
  no  

  Is the Fréchet derivative of the matrix logarithm required?  _ yes 
(F01JKF not in this release)  
  no  

  (F01EJF not in this release)  
no  

Is $\mathrm{exp}\left(A\right)$ required?  _ yes 
Is the condition number of the matrix exponential required?  _ yes 
(F01JGF not in this release) 
  no  

  Is the Fréchet derivative of the matrix exponential required?  _ yes 
(F01JHF not in this release)  
  no  

  (F01ECF not in this release)  
no  

Is ${A}^{1/2}$ required?  _ yes 
Is the condition number of the matrix square root required?  _ yes 
(F01JDF not in this release) 
  no  

  Is the matrix upper quasitriangular?  _ yes 
(F01EPF not in this release)  
  no  

  (F01ENF not in this release)  
no  

Is ${A}^{p}$ required?  _ yes 
Is the condition number of the matrix power required?  _ yes 
(F01JEF not in this release) 
  no  

  Is the Fréchet derivative of the matrix power required?  _ yes 
(F01JFF not in this release)  
  no  

  (F01EQF not in this release)  
no  

$f\left(A\right)$ will be computed. Will derivatives of $f$ be supplied by the user?  _ yes 
Is the condition number of the matrix function required?  _ yes 
(F01JCF not in this release) 
  no  

  (F01EMF not in this release)  
no  

Is the condition number of the matrix function required?  _ yes 
(F01JBF not in this release)  
no  

(F01ELF not in this release) 
Tree 6: Matrix functions $f\left(A\right)$ of an n by n complex matrix $A$
Is ${e}^{tA}B$ required?  _ yes 
Is $A$ stored in dense format?  _ yes 
(F01HAF not in this release) 
  no  

  (F01HBF not in this release)  
no  

Is $A$ complex Hermitian?  _ yes 
Is ${e}^{A}$ required?  _ yes 
f01fd 
  no  

  f01ff  
no  

Is $\mathrm{cos}\left(A\right)$ or $\mathrm{cosh}\left(A\right)$ or $\mathrm{sin}\left(A\right)$ or $\mathrm{sinh}\left(A\right)$ required?  _ yes 
Is the condition number of the matrix function required?  _ yes 
(F01KAF not in this release) 
  no  

  (F01FKF not in this release)  
no  

Is $\mathrm{log}\left(A\right)$ required?  _ yes 
Is the condition number of the matrix logarithm required?  _ yes 
(F01KJF not in this release) 
  no  

  Is the Fréchet derivative of the matrix logarithm required?  _ yes 
(F01KKF not in this release)  
  no  

  (F01FJF not in this release)  
no  

Is $\mathrm{exp}\left(A\right)$ required?  _ yes 
Is the condition number of the matrix exponential required?  _ yes 
(F01KGF not in this release) 
  no  

  Is the Fréchet derivative of the matrix exponential required?  _ yes 
(F01KHF not in this release)  
  no  

  f01fc  
no  

Is ${A}^{1/2}$ required?  _ yes 
Is the condition number of the matrix square root required?  _ yes 
(F01KDF not in this release) 
  no  

  Is the matrix upper triangular?  _ yes 
(F01FPF not in this release)  
  no  

  (F01FNF not in this release)  
no  

Is ${A}^{p}$ required?  _ yes 
Is the condition number of the matrix power required?  _ yes 
(F01KEF not in this release) 
  no  

  Is the Fréchet derivative of the matrix power required?  _ yes 
(F01KFF not in this release)  
  no  

  (F01FQF not in this release)  
no  

$f\left(A\right)$ will be computed. Will derivatives of $f$ be supplied by the user?  _ yes 
Is the condition number of the matrix function required?  _ yes 
(F01KCF not in this release) 
  no  

  (F01FMF not in this release)  
no  

Is the condition number of the matrix function required?  _ yes 
(F01KBF not in this release)  
no  

(F01FLF not in this release) 
References
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
Higham N J (2008) Functions of Matrices: Theory and Computation SIAM, Philadelphia, PA, USA
Wilkinson J H (1965) The Algebraic Eigenvalue Problem Oxford University Press, Oxford
Wilkinson J H (1977) Some recent advances in numerical linear algebra The State of the Art in Numerical Analysis (ed D A H Jacobs) Academic Press
Wilkinson J H and Reinsch C (1971) Handbook for Automatic Computation II, Linear Algebra Springer–Verlag