1CPTSVX(1)                LAPACK routine (version 3.2)                CPTSVX(1)
2
3
4

NAME

6       CPTSVX - uses the factorization A = L*D*L**H to compute the solution to
7       a 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 CPTSVX( 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           REAL           RCOND
20
21           REAL           BERR( * ), D( * ), DF( * ), FERR( * ), RWORK( * )
22
23           COMPLEX        B( LDB, * ), E( * ), EF( * ), WORK( * ), X( LDX, * )
24

PURPOSE

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

DESCRIPTION

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

ARGUMENTS

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