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

NAME

6       CLALSA  -  an  itermediate step in solving the least squares problem by
7       computing the SVD of the coefficient matrix in compact form (The singu‐
8       lar vectors are computed as products of simple orthorgonal matrices.)
9

SYNOPSIS

11       SUBROUTINE CLALSA( ICOMPQ,  SMLSIZ,  N, NRHS, B, LDB, BX, LDBX, U, LDU,
12                          VT, K, DIFL, DIFR, Z, POLES, GIVPTR, GIVCOL, LDGCOL,
13                          PERM, GIVNUM, C, S, RWORK, IWORK, INFO )
14
15           INTEGER        ICOMPQ,  INFO, LDB, LDBX, LDGCOL, LDU, N, NRHS, SML‐
16                          SIZ
17
18           INTEGER        GIVCOL( LDGCOL, * ), GIVPTR( * ), IWORK( * ),  K(  *
19                          ), PERM( LDGCOL, * )
20
21           REAL           C( * ), DIFL( LDU, * ), DIFR( LDU, * ), GIVNUM( LDU,
22                          * ), POLES( LDU, * ), RWORK( * ), S( * ), U( LDU,  *
23                          ), VT( LDU, * ), Z( LDU, * )
24
25           COMPLEX        B( LDB, * ), BX( LDBX, * )
26

PURPOSE

28       CLALSA  is  an itermediate step in solving the least squares problem by
29       computing the SVD of the coefficient matrix in compact form (The singu‐
30       lar vectors are computed as products of simple orthorgonal matrices.).
31
32       If  ICOMPQ  = 0, CLALSA applies the inverse of the left singular vector
33       matrix of an upper bidiagonal matrix to the right  hand  side;  and  if
34       ICOMPQ  =  1,  CLALSA  applies  the right singular vector matrix to the
35       right hand side. The singular vector matrices were generated in compact
36       form by CLALSA.
37
38

ARGUMENTS

40       ICOMPQ (input) INTEGER Specifies whether the left or the right singular
41       vector matrix is involved.  = 0: Left singular vector matrix
42       = 1: Right singular vector matrix
43
44       SMLSIZ (input) INTEGER The maximum size of the subproblems at the  bot‐
45       tom of the computation tree.
46
47       N      (input) INTEGER
48              The row and column dimensions of the upper bidiagonal matrix.
49
50       NRHS   (input) INTEGER
51              The number of columns of B and BX. NRHS must be at least 1.
52
53       B      (input/output) COMPLEX array, dimension ( LDB, NRHS )
54              On  input,  B contains the right hand sides of the least squares
55              problem in rows 1 through M.  On output, B contains the solution
56              X in rows 1 through N.
57
58       LDB    (input) INTEGER
59              The  leading dimension of B in the calling subprogram.  LDB must
60              be at least max(1,MAX( M, N ) ).
61
62       BX     (output) COMPLEX array, dimension ( LDBX, NRHS )
63              On exit, the result of applying the left or right singular  vec‐
64              tor matrix to B.
65
66       LDBX   (input) INTEGER
67              The leading dimension of BX.
68
69       U      (input) REAL array, dimension ( LDU, SMLSIZ ).
70              On  entry,  U  contains the left singular vector matrices of all
71              subproblems at the bottom level.
72
73       LDU    (input) INTEGER, LDU = > N.
74              The leading dimension  of  arrays  U,  VT,  DIFL,  DIFR,  POLES,
75              GIVNUM, and Z.
76
77       VT     (input) REAL array, dimension ( LDU, SMLSIZ+1 ).
78              On entry, VT' contains the right singular vector matrices of all
79              subproblems at the bottom level.
80
81       K      (input) INTEGER array, dimension ( N ).
82
83       DIFL   (input) REAL array, dimension ( LDU, NLVL ).
84              where NLVL = INT(log_2 (N/(SMLSIZ+1))) + 1.
85
86       DIFR   (input) REAL array, dimension ( LDU, 2 * NLVL ).
87              On entry, DIFL(*, I) and DIFR(*, 2  *  I  -1)  record  distances
88              between singular values on the I-th level and singular values on
89              the (I -1)-th level, and DIFR(*, 2 * I) record  the  normalizing
90              factors of the right singular vectors matrices of subproblems on
91              I-th level.
92
93       Z      (input) REAL array, dimension ( LDU, NLVL ).
94              On entry, Z(1, I) contains  the  components  of  the  deflation-
95              adjusted updating row vector for subproblems on the I-th level.
96
97       POLES  (input) REAL array, dimension ( LDU, 2 * NLVL ).
98              On  entry,  POLES(*,  2  * I -1: 2 * I) contains the new and old
99              singular values involved in the secular equations  on  the  I-th
100              level.
101
102              GIVPTR  (input)  INTEGER  array,  dimension  (  N  ).  On entry,
103              GIVPTR( I ) records the number of Givens rotations performed  on
104              the I-th problem on the computation tree.
105
106              GIVCOL  (input)  INTEGER  array, dimension ( LDGCOL, 2 * NLVL ).
107              On entry, for each I, GIVCOL(*, 2 * I - 1: 2 *  I)  records  the
108              locations of Givens rotations performed on the I-th level on the
109              computation tree.
110
111              LDGCOL (input) INTEGER, LDGCOL = > N.  The leading dimension  of
112              arrays GIVCOL and PERM.
113
114       PERM   (input) INTEGER array, dimension ( LDGCOL, NLVL ).
115              On entry, PERM(*, I) records permutations done on the I-th level
116              of the computation tree.
117
118              GIVNUM (input) REAL array, dimension ( LDU,  2  *  NLVL  ).   On
119              entry,  GIVNUM(*,  2 *I -1 : 2 * I) records the C- and S- values
120              of Givens rotations performed on the I-th level on the  computa‐
121              tion tree.
122
123       C      (input) REAL array, dimension ( N ).
124              On  entry, if the I-th subproblem is not square, C( I ) contains
125              the C-value of a Givens rotation related to the right null space
126              of the I-th subproblem.
127
128       S      (input) REAL array, dimension ( N ).
129              On  entry, if the I-th subproblem is not square, S( I ) contains
130              the S-value of a Givens rotation related to the right null space
131              of the I-th subproblem.
132
133       RWORK  (workspace) REAL array, dimension at least
134              max ( N, (SMLSZ+1)*NRHS*3 ).
135
136       IWORK  (workspace) INTEGER array.
137              The dimension must be at least 3 * N
138
139       INFO   (output) INTEGER
140              = 0:  successful exit.
141              < 0:  if INFO = -i, the i-th argument had an illegal value.
142

FURTHER DETAILS

144       Based on contributions by
145          Ming Gu and Ren-Cang Li, Computer Science Division, University of
146            California at Berkeley, USA
147          Osni Marques, LBNL/NERSC, USA
148
149
150
151
152 LAPACK routine (version 3.1)    November 2006                       CLALSA(1)
Impressum