1DLALN2(1)           LAPACK auxiliary routine (version 3.2)           DLALN2(1)
2
3
4

NAME

6       DLALN2  - solves a system of the form (ca A - w D ) X = s B or (ca A' -
7       w D) X = s B with possible scaling ("s") and perturbation of A
8

SYNOPSIS

10       SUBROUTINE DLALN2( LTRANS, NA, NW, SMIN, CA, A, LDA, D1,  D2,  B,  LDB,
11                          WR, WI, X, LDX, SCALE, XNORM, INFO )
12
13           LOGICAL        LTRANS
14
15           INTEGER        INFO, LDA, LDB, LDX, NA, NW
16
17           DOUBLE         PRECISION CA, D1, D2, SCALE, SMIN, WI, WR, XNORM
18
19           DOUBLE         PRECISION A( LDA, * ), B( LDB, * ), X( LDX, * )
20

PURPOSE

22       DLALN2 solves a system of the form  (ca A - w D ) X = s B or (ca A' - w
23       D) X = s B   with possible scaling ("s") and perturbation  of  A.   (A'
24       means  A-transpose.)  A is an NA x NA real matrix, ca is a real scalar,
25       D is an NA x NA real diagonal matrix, w is a real or complex value, and
26       X  and B are NA x 1 matrices -- real if w is real, complex if w is com‐
27       plex.  NA may be 1 or 2.
28       If w is complex, X and B are represented as NA x 2 matrices, the  first
29       column  of  each being the real part and the second being the imaginary
30       part.
31       "s" is a scaling factor (.LE. 1), computed by DLALN2, which is so  cho‐
32       sen  that  X  can be computed without overflow.  X is further scaled if
33       necessary to assure that norm(ca A - w D)*norm(X) is  less  than  over‐
34       flow.
35       If  both singular values of (ca A - w D) are less than SMIN, SMIN*iden‐
36       tity will be used instead of (ca A - w D).  If only one singular  value
37       is less than SMIN, one element of (ca A - w D) will be perturbed enough
38       to make the smallest singular value roughly  SMIN.   If  both  singular
39       values  are  at least SMIN, (ca A - w D) will not be perturbed.  In any
40       case, the perturbation will be at most  some  small  multiple  of  max(
41       SMIN,  ulp*norm(ca  A  -  w  D) ).  The singular values are computed by
42       infinity-norm approximations, and thus will only be correct to a factor
43       of 2 or so.
44       Note: all input quantities are assumed to be smaller than overflow by a
45       reasonable factor.  (See BIGNUM.)
46

ARGUMENTS

48       LTRANS  (input) LOGICAL
49               =.TRUE.:  A-transpose will be used.
50               =.FALSE.: A will be used (not transposed.)
51
52       NA      (input) INTEGER
53               The size of the matrix A.  It may (only) be 1 or 2.
54
55       NW      (input) INTEGER
56               1 if "w" is real, 2 if "w" is complex.  It may only be 1 or 2.
57
58       SMIN    (input) DOUBLE PRECISION
59               The desired lower bound on the  singular  values  of  A.   This
60               should be a safe distance away from underflow or overflow, say,
61               between (underflow/machine precision) and  (machine precision *
62               overflow ).  (See BIGNUM and ULP.)
63
64       CA      (input) DOUBLE PRECISION
65               The coefficient c, which A is multiplied by.
66
67       A       (input) DOUBLE PRECISION array, dimension (LDA,NA)
68               The NA x NA matrix A.
69
70       LDA     (input) INTEGER
71               The leading dimension of A.  It must be at least NA.
72
73       D1      (input) DOUBLE PRECISION
74               The 1,1 element in the diagonal matrix D.
75
76       D2      (input) DOUBLE PRECISION
77               The 2,2 element in the diagonal matrix D.  Not used if NW=1.
78
79       B       (input) DOUBLE PRECISION array, dimension (LDB,NW)
80               The  NA  x NW matrix B (right-hand side).  If NW=2 ("w" is com‐
81               plex), column 1 contains the real part of B and column  2  con‐
82               tains the imaginary part.
83
84       LDB     (input) INTEGER
85               The leading dimension of B.  It must be at least NA.
86
87       WR      (input) DOUBLE PRECISION
88               The real part of the scalar "w".
89
90       WI      (input) DOUBLE PRECISION
91               The imaginary part of the scalar "w".  Not used if NW=1.
92
93       X       (output) DOUBLE PRECISION array, dimension (LDX,NW)
94               The  NA  x  NW  matrix X (unknowns), as computed by DLALN2.  If
95               NW=2 ("w" is complex), on exit, column 1 will contain the  real
96               part of X and column 2 will contain the imaginary part.
97
98       LDX     (input) INTEGER
99               The leading dimension of X.  It must be at least NA.
100
101       SCALE   (output) DOUBLE PRECISION
102               The  scale  factor  that B must be multiplied by to insure that
103               overflow does not occur when computing X.  Thus, (ca A - w D) X
104               will  be SCALE*B, not B (ignoring perturbations of A.)  It will
105               be at most 1.
106
107       XNORM   (output) DOUBLE PRECISION
108               The infinity-norm of X, when X is regarded as an NA x  NW  real
109               matrix.
110
111       INFO    (output) INTEGER
112               An  error  flag.   It will be set to zero if no error occurs, a
113               negative number if an argument is in error, or a positive  num‐
114               ber  if   ca A - w D  had to be perturbed.  The possible values
115               are:
116               = 0: No error occurred, and (ca A - w D) did  not  have  to  be
117               perturbed.   =  1: (ca A - w D) had to be perturbed to make its
118               smallest (or only) singular value greater than SMIN.  NOTE:  In
119               the  interests of speed, this routine does not check the inputs
120               for errors.
121
122
123
124 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008                       DLALN2(1)
Impressum