1DPBTRF(1) LAPACK routine (version 3.1) DPBTRF(1)
2
3
4
6 DPBTRF - the Cholesky factorization of a real symmetric positive defi‐
7 nite band matrix A
8
10 SUBROUTINE DPBTRF( UPLO, N, KD, AB, LDAB, INFO )
11
12 CHARACTER UPLO
13
14 INTEGER INFO, KD, LDAB, N
15
16 DOUBLE PRECISION AB( LDAB, * )
17
19 DPBTRF computes the Cholesky factorization of a real symmetric positive
20 definite band matrix A.
21
22 The factorization has the form
23 A = U**T * U, if UPLO = 'U', or
24 A = L * L**T, if UPLO = 'L',
25 where U is an upper triangular matrix and L is lower triangular.
26
27
29 UPLO (input) CHARACTER*1
30 = 'U': Upper triangle of A is stored;
31 = 'L': Lower triangle of A is stored.
32
33 N (input) INTEGER
34 The order of the matrix A. N >= 0.
35
36 KD (input) INTEGER
37 The number of superdiagonals of the matrix A if UPLO = 'U', or
38 the number of subdiagonals if UPLO = 'L'. KD >= 0.
39
40 AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
41 On entry, the upper or lower triangle of the symmetric band
42 matrix A, stored in the first KD+1 rows of the array. The j-th
43 column of A is stored in the j-th column of the array AB as
44 follows: if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-
45 kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j) = A(i,j) for
46 j<=i<=min(n,j+kd).
47
48 On exit, if INFO = 0, the triangular factor U or L from the
49 Cholesky factorization A = U**T*U or A = L*L**T of the band
50 matrix A, in the same storage format as A.
51
52 LDAB (input) INTEGER
53 The leading dimension of the array AB. LDAB >= KD+1.
54
55 INFO (output) INTEGER
56 = 0: successful exit
57 < 0: if INFO = -i, the i-th argument had an illegal value
58 > 0: if INFO = i, the leading minor of order i is not positive
59 definite, and the factorization could not be completed.
60
62 The band storage scheme is illustrated by the following example, when N
63 = 6, KD = 2, and UPLO = 'U':
64
65 On entry: On exit:
66
67 * * a13 a24 a35 a46 * * u13 u24 u35 u46
68 * a12 a23 a34 a45 a56 * u12 u23 u34 u45 u56
69 a11 a22 a33 a44 a55 a66 u11 u22 u33 u44 u55 u66
70
71 Similarly, if UPLO = 'L' the format of A is as follows:
72
73 On entry: On exit:
74
75 a11 a22 a33 a44 a55 a66 l11 l22 l33 l44 l55 l66
76 a21 a32 a43 a54 a65 * l21 l32 l43 l54 l65 *
77 a31 a42 a53 a64 * * l31 l42 l53 l64 * *
78
79 Array elements marked * are not used by the routine.
80
81 Contributed by
82 Peter Mayes and Giuseppe Radicati, IBM ECSEC, Rome, March 23, 1989
83
84
85
86
87 LAPACK routine (version 3.1) November 2006 DPBTRF(1)