1CPPSV(1) LAPACK driver routine (version 3.2) CPPSV(1)
2
3
4
6 CPPSV - computes the solution to a complex system of linear equations
7 A * X = B,
8
10 SUBROUTINE CPPSV( UPLO, N, NRHS, AP, B, LDB, INFO )
11
12 CHARACTER UPLO
13
14 INTEGER INFO, LDB, N, NRHS
15
16 COMPLEX AP( * ), B( LDB, * )
17
19 CPPSV computes the solution to a complex system of linear equations
20 A * X = B, where A is an N-by-N Hermitian positive definite matrix
21 stored in packed format and X and B are N-by-NRHS matrices.
22 The Cholesky decomposition is used to factor A as
23 A = U**H* U, if UPLO = 'U', or
24 A = L * L**H, if UPLO = 'L',
25 where U is an upper triangular matrix and L is a lower triangular
26 matrix. The factored form of A is then used to solve the system of
27 equations A * X = B.
28
30 UPLO (input) CHARACTER*1
31 = 'U': Upper triangle of A is stored;
32 = 'L': Lower triangle of A is stored.
33
34 N (input) INTEGER
35 The number of linear equations, i.e., the order of the matrix
36 A. N >= 0.
37
38 NRHS (input) INTEGER
39 The number of right hand sides, i.e., the number of columns of
40 the matrix B. NRHS >= 0.
41
42 AP (input/output) COMPLEX array, dimension (N*(N+1)/2)
43 On entry, the upper or lower triangle of the Hermitian matrix
44 A, packed columnwise in a linear array. The j-th column of A
45 is stored in the array AP as follows: if UPLO = 'U', AP(i +
46 (j-1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i +
47 (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n. See below for further
48 details. On exit, if INFO = 0, the factor U or L from the
49 Cholesky factorization A = U**H*U or A = L*L**H, in the same
50 storage format as A.
51
52 B (input/output) COMPLEX array, dimension (LDB,NRHS)
53 On entry, the N-by-NRHS right hand side matrix B. On exit, if
54 INFO = 0, the N-by-NRHS solution matrix X.
55
56 LDB (input) INTEGER
57 The leading dimension of the array B. LDB >= max(1,N).
58
59 INFO (output) INTEGER
60 = 0: successful exit
61 < 0: if INFO = -i, the i-th argument had an illegal value
62 > 0: if INFO = i, the leading minor of order i of A is not
63 positive definite, so the factorization could not be completed,
64 and the solution has not been computed.
65
67 The packed storage scheme is illustrated by the following example when
68 N = 4, UPLO = 'U':
69 Two-dimensional storage of the Hermitian matrix A:
70 a11 a12 a13 a14
71 a22 a23 a24
72 a33 a34 (aij = conjg(aji))
73 a44
74 Packed storage of the upper triangle of A:
75 AP = [ a11, a12, a22, a13, a23, a33, a14, a24, a34, a44 ]
76
77
78
79 LAPACK driver routine (version 3.N2o)vember 2008 CPPSV(1)