2 Specification

3 Description

nag_dpotrf (f07fdc) forms the Cholesky factorization of a real symmetric positive definite matrix A either as A=UTU if uplo=Nag_Upper or A=LLT if uplo=Nag_Lower, where U is an upper triangular matrix and L is lower triangular.

5 Arguments

1:
order – Nag_OrderTypeInput

On entry: the order argument specifies the two-dimensional storage scheme being used, i.e., row-major ordering or column-major ordering. C language defined storage is specified by order=Nag_RowMajor. See Section 3.2.1.3 in the Essential Introduction for a more detailed explanation of the use of this argument.

Constraint:
order=Nag_RowMajor or Nag_ColMajor.

2:
uplo – Nag_UploTypeInput

On entry: specifies whether the upper or lower triangular part of A is stored and how A is to be factorized.

uplo=Nag_Upper

The upper triangular part of A is stored and A is factorized as
UTU, where U is upper triangular.

uplo=Nag_Lower

The lower triangular part of A is stored and A is factorized as
LLT, where L is lower triangular.

An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.

NE_POS_DEF

The leading minor of order value is not positive definite and the factorization could not be completed. Hence A itself is not positive definite. This may indicate an error in forming the matrix A. To factorize a
matrix which is not positive definite, call
nag_dsytrf (f07mdc)
instead.

7 Accuracy

If uplo=Nag_Upper, the computed factor U is the exact factor of a perturbed matrix A+E, where

E≤cnεUTU,

cn is a modest linear function of n, and ε is the machine precision. If uplo=Nag_Lower, a similar statement holds for the computed factor L. It follows that eij≤cnε⁢aiiajj.

8 Further Comments

The total number of floating point operations is approximately 13n3.

A call to nag_dpotrf (f07fdc) may be followed by calls to the functions: