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

NAME

6       SLALSA  -  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 SLALSA( 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, WORK, 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           B(  LDB, * ), BX( LDBX, * ), C( * ), DIFL( LDU, * ),
22                          DIFR( LDU, * ), GIVNUM( LDU, * ), POLES( LDU,  *  ),
23                          S(  *  ),  U(  LDU, * ), VT( LDU, * ), WORK( * ), Z(
24                          LDU, * )
25

PURPOSE

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

ARGUMENTS

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

FURTHER DETAILS

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