1ZPTSVX(1)                LAPACK routine (version 3.1)                ZPTSVX(1)
2
3
4

NAME

6       ZPTSVX  -  the  factorization A = L*D*L**H to compute the solution to a
7       complex system of linear equations A*X = B, where A is an  N-by-N  Her‐
8       mitian  positive  definite tridiagonal matrix and X and B are N-by-NRHS
9       matrices
10

SYNOPSIS

12       SUBROUTINE ZPTSVX( FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX,  RCOND,
13                          FERR, BERR, WORK, RWORK, INFO )
14
15           CHARACTER      FACT
16
17           INTEGER        INFO, LDB, LDX, N, NRHS
18
19           DOUBLE         PRECISION RCOND
20
21           DOUBLE         PRECISION  BERR(  *  ),  D( * ), DF( * ), FERR( * ),
22                          RWORK( * )
23
24           COMPLEX*16     B( LDB, * ), E( * ), EF( * ), WORK( * ), X( LDX, * )
25

PURPOSE

27       ZPTSVX uses the factorization A = L*D*L**H to compute the solution to a
28       complex  system  of linear equations A*X = B, where A is an N-by-N Her‐
29       mitian positive definite tridiagonal matrix and X and B  are  N-by-NRHS
30       matrices.
31
32       Error  bounds  on  the  solution and a condition estimate are also pro‐
33       vided.
34
35

DESCRIPTION

37       The following steps are performed:
38
39       1. If FACT = 'N', the matrix A is factored as A = L*D*L**H, where L
40          is a unit lower bidiagonal matrix and D is diagonal.  The
41          factorization can also be regarded as having the form
42          A = U**H*D*U.
43
44       2. If the leading i-by-i principal minor is not positive definite,
45          then the routine returns with INFO = i. Otherwise, the factored
46          form of A is used to estimate the condition number of the matrix
47          A.  If the reciprocal of the condition number is less than machine
48          precision, INFO = N+1 is returned as a warning, but the routine
49          still goes on to solve for X and compute error bounds as
50          described below.
51
52       3. The system of equations is solved for X using the factored form
53          of A.
54
55       4. Iterative refinement is applied to improve the computed solution
56          matrix and calculate error bounds and backward error estimates
57          for it.
58
59

ARGUMENTS

61       FACT    (input) CHARACTER*1
62               Specifies whether or not the factored form of the matrix  A  is
63               supplied  on  entry.   =  'F':  On entry, DF and EF contain the
64               factored form of A.  D, E, DF, and EF will not be modified.   =
65               'N':  The matrix A will be copied to DF and EF and factored.
66
67       N       (input) INTEGER
68               The order of the matrix A.  N >= 0.
69
70       NRHS    (input) INTEGER
71               The  number of right hand sides, i.e., the number of columns of
72               the matrices B and X.  NRHS >= 0.
73
74       D       (input) DOUBLE PRECISION array, dimension (N)
75               The n diagonal elements of the tridiagonal matrix A.
76
77       E       (input) COMPLEX*16 array, dimension (N-1)
78               The (n-1) subdiagonal elements of the tridiagonal matrix A.
79
80       DF      (input or output) DOUBLE PRECISION array, dimension (N)
81               If FACT = 'F', then DF is an input argument and on  entry  con‐
82               tains the n diagonal elements of the diagonal matrix D from the
83               L*D*L**H factorization of A.  If FACT = 'N', then DF is an out‐
84               put  argument  and  on exit contains the n diagonal elements of
85               the diagonal matrix D from the L*D*L**H factorization of A.
86
87       EF      (input or output) COMPLEX*16 array, dimension (N-1)
88               If FACT = 'F', then EF is an input argument and on  entry  con‐
89               tains  the  (n-1)  subdiagonal  elements of the unit bidiagonal
90               factor L from the L*D*L**H factorization of A.  If FACT =  'N',
91               then  EF  is  an output argument and on exit contains the (n-1)
92               subdiagonal elements of the unit bidiagonal factor L  from  the
93               L*D*L**H factorization of A.
94
95       B       (input) COMPLEX*16 array, dimension (LDB,NRHS)
96               The N-by-NRHS right hand side matrix B.
97
98       LDB     (input) INTEGER
99               The leading dimension of the array B.  LDB >= max(1,N).
100
101       X       (output) COMPLEX*16 array, dimension (LDX,NRHS)
102               If INFO = 0 or INFO = N+1, the N-by-NRHS solution matrix X.
103
104       LDX     (input) INTEGER
105               The leading dimension of the array X.  LDX >= max(1,N).
106
107       RCOND   (output) DOUBLE PRECISION
108               The  reciprocal  condition number of the matrix A.  If RCOND is
109               less than the machine precision (in particular, if RCOND =  0),
110               the matrix is singular to working precision.  This condition is
111               indicated by a return code of INFO > 0.
112
113       FERR    (output) DOUBLE PRECISION array, dimension (NRHS)
114               The forward error bound for each solution vector X(j) (the j-th
115               column  of  the solution matrix X).  If XTRUE is the true solu‐
116               tion corresponding to X(j), FERR(j) is an estimated upper bound
117               for  the  magnitude  of  the  largest element in (X(j) - XTRUE)
118               divided by the magnitude of the largest element in X(j).
119
120       BERR    (output) DOUBLE PRECISION array, dimension (NRHS)
121               The componentwise relative backward error of each solution vec‐
122               tor  X(j) (i.e., the smallest relative change in any element of
123               A or B that makes X(j) an exact solution).
124
125       WORK    (workspace) COMPLEX*16 array, dimension (N)
126
127       RWORK   (workspace) DOUBLE PRECISION array, dimension (N)
128
129       INFO    (output) INTEGER
130               = 0:  successful exit
131               < 0:  if INFO = -i, the i-th argument had an illegal value
132               > 0:  if INFO = i, and i is
133               <= N:  the leading minor of order i of A is not positive  defi‐
134               nite,  so  the  factorization  could  not be completed, and the
135               solution has not been computed. RCOND = 0 is returned.  =  N+1:
136               U  is  nonsingular,  but  RCOND is less than machine precision,
137               meaning that the matrix is singular to working precision.  Nev‐
138               ertheless,  the  solution and error bounds are computed because
139               there are a number of situations where  the  computed  solution
140               can be more accurate than the value of RCOND would suggest.
141
142
143
144 LAPACK routine (version 3.1)    November 2006                       ZPTSVX(1)
Impressum