F08UFF (DPBSTF) (PDF version)
F08 Chapter Contents
F08 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

F08UFF (DPBSTF)

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

+ Contents

    1  Purpose
    7  Accuracy
    9  Example

1  Purpose

F08UFF (DPBSTF) computes a split Cholesky factorization of a real symmetric positive definite band matrix.

2  Specification

SUBROUTINE F08UFF ( UPLO, N, KB, BB, LDBB, INFO)
INTEGER  N, KB, LDBB, INFO
REAL (KIND=nag_wp)  BB(LDBB,*)
CHARACTER(1)  UPLO
The routine may be called by its LAPACK name dpbstf.

3  Description

F08UFF (DPBSTF) computes a split Cholesky factorization of a real symmetric positive definite band matrix B. It is designed to be used in conjunction with F08UEF (DSBGST).
The factorization has the form B=STS, where S is a band matrix of the same bandwidth as B and the following structure: S is upper triangular in the first n+k/2 rows, and transposed — hence, lower triangular — in the remaining rows. For example, if n=9 and k=2, then
S = s11 s12 s13 s22 s23 s24 s33 s34 s35 s44 s45 s55 s64 s65 s66 s75 s76 s77 s86 s87 s88 s97 s98 s99 .

4  References

None.

5  Parameters

1:     UPLO – CHARACTER(1)Input
On entry: indicates whether the upper or lower triangular part of B is stored.
UPLO='U'
The upper triangular part of B is stored.
UPLO='L'
The lower triangular part of B is stored.
Constraint: UPLO='U' or 'L'.
2:     N – INTEGERInput
On entry: n, the order of the matrix B.
Constraint: N0.
3:     KB – INTEGERInput
On entry: if UPLO='U', the number of superdiagonals, kb, of the matrix B.
If UPLO='L', the number of subdiagonals, kb, of the matrix B.
Constraint: KB0.
4:     BB(LDBB,*) – REAL (KIND=nag_wp) arrayInput/Output
Note: the second dimension of the array BB must be at least max1,N.
On entry: the n by n symmetric positive definite band matrix B.
The matrix is stored in rows 1 to kb+1, more precisely,
  • if UPLO='U', the elements of the upper triangle of B within the band must be stored with element Bij in BBkb+1+i-jj​ for ​max1,j-kbij;
  • if UPLO='L', the elements of the lower triangle of B within the band must be stored with element Bij in BB1+i-jj​ for ​jiminn,j+kb.
On exit: B is overwritten by the elements of its split Cholesky factor S.
5:     LDBB – INTEGERInput
On entry: the first dimension of the array BB as declared in the (sub)program from which F08UFF (DPBSTF) is called.
Constraint: LDBBKB+1.
6:     INFO – INTEGEROutput
On exit: INFO=0 unless the routine detects an error (see Section 6).

6  Error Indicators and Warnings

INFO<0
If INFO=-i, argument i had an illegal value. An explanatory message is output, and execution of the program is terminated.
INFO>0
If INFO=i, the factorization could not be completed, because the updated element bi,i would be the square root of a negative number. Hence B is not positive definite. This may indicate an error in forming the matrix B.

7  Accuracy

The computed factor S is the exact factor of a perturbed matrix B+E, where
Eck+1εSTS,
ck+1 is a modest linear function of k+1, and ε is the machine precision. It follows that eijck+1εbiibjj.

8  Further Comments

The total number of floating point operations is approximately n k+1 2, assuming nk.
A call to F08UFF (DPBSTF) may be followed by a call to F08UEF (DSBGST) to solve the generalized eigenproblem Az=λBz, where A and B are banded and B is positive definite.
The complex analogue of this routine is F08UTF (ZPBSTF).

9  Example

See Section 9 in F08UEF (DSBGST).

F08UFF (DPBSTF) (PDF version)
F08 Chapter Contents
F08 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012