NAG FL Interface
F03 (Det)
Determinants

Settings help

FL Name Style:


FL Specification Language:


1 Scope of the Chapter

This chapter is concerned with the calculation of determinants of square matrices.

2 Background to the Problems

The routines in this chapter compute the determinant of a square matrix A. The matrix is assumed to have first been decomposed into triangular factors
A=LU ,  
using routines from Chapter F07.
If A is positive definite, then U=LT, and the determinant is the product of the squares of the diagonal elements of L. Otherwise, the routines in this chapter use the Dolittle form of the LU decomposition, where L has unit elements on its diagonal. The determinant is then the product of the diagonal elements of U, taking account of possible sign changes due to row interchanges.
To avoid overflow or underflow in the computation of the determinant, some scaling is associated with each multiplication in the product of the relevant diagonal elements. The final value is represented by
detA=d×2id  
where id is an integer and
116|d|<1 .  
For complex valued determinants the real and imaginary parts are scaled separately.

3 Recommendations on Choice and Use of Available Routines

It is extremely wasteful of computer time and storage to use an inappropriate routine, for example to use a routine requiring a complex matrix when A is real. Most programmers will know whether their matrix is real or complex, but may be less certain whether or not a real symmetric matrix A is positive definite, i.e., all eigenvalues of A>0. A real symmetric matrix A not known to be positive definite must be treated as a general real matrix. In all other cases either the band routine or the general routines must be used.
The routines in this chapter are general purpose routines. These give the value of the determinant in its scaled form, d and id, given the triangular decomposition of the matrix from a suitable routine from Chapter F07.

4 Decision Trees

Tree 1

Is A a real matrix?   Is A a symmetric positive definite matrix?   Is A a band matrix?   f07hdf and f03bhf
yesyesyes
  no   no   no
f07fdf and f03bff
f07adf and f03baf
f07arf and f03bnf

5 Functionality Index

Determinants of factorized matrices,  
complex matrix   f03bnf
real matrix   f03baf
real symmetric band positive definite matrix   f03bhf
real symmetric positive definite matrix   f03bff

6 Auxiliary Routines Associated with Library Routine Arguments

None.

7 Withdrawn or Deprecated Routines

The following lists all those routines that have been withdrawn since Mark 24 of the Library or are in the Library, but deprecated.
Routine Status Replacement Routine(s)
f03aaf Withdrawn at Mark 25 f07adf and f03baf
f03abf Withdrawn at Mark 25 f07fdf and f03bff
f03acf Withdrawn at Mark 25 f07hdf and f03bhf
f03adf Withdrawn at Mark 25 f07arf and f03bnf
f03aef Withdrawn at Mark 25 f07fdf and f03bff
f03aff Withdrawn at Mark 25 f07adf and f03baf

8 References

Fox L (1964) An Introduction to Numerical Linear Algebra Oxford University Press
Wilkinson J H and Reinsch C (1971) Handbook for Automatic Computation II, Linear Algebra Springer–Verlag