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

NAME

6       DLASQ1  -  computes  the  singular  values  of a real N-by-N bidiagonal
7       matrix with diagonal D and off-diagonal E
8

SYNOPSIS

10       SUBROUTINE DLASQ1( N, D, E, WORK, INFO )
11
12           INTEGER        INFO, N
13
14           DOUBLE         PRECISION D( * ), E( * ), WORK( * )
15

PURPOSE

17       DLASQ1 computes the singular values of a real N-by-N bidiagonal  matrix
18       with diagonal D and off-diagonal E. The singular values are computed to
19       high relative accuracy, in the absence  of  denormalization,  underflow
20       and overflow. The algorithm was first presented in
21       "Accurate  singular  values  and  differential  qd algorithms" by K. V.
22       Fernando and B. N. Parlett, Numer. Math., Vol-67, No. 2,  pp.  191-230,
23       1994,
24       and  the  present  implementation is described in "An implementation of
25       the dqds Algorithm (Positive Case)", LAPACK Working Note.
26

ARGUMENTS

28       N     (input) INTEGER
29             The number of rows and columns in the matrix. N >= 0.
30
31       D     (input/output) DOUBLE PRECISION array, dimension (N)
32             On entry, D contains the  diagonal  elements  of  the  bidiagonal
33             matrix  whose SVD is desired. On normal exit, D contains the sin‐
34             gular values in decreasing order.
35
36       E     (input/output) DOUBLE PRECISION array, dimension (N)
37             On entry, elements E(1:N-1) contain the off-diagonal elements  of
38             the  bidiagonal matrix whose SVD is desired.  On exit, E is over‐
39             written.
40
41       WORK  (workspace) DOUBLE PRECISION array, dimension (4*N)
42
43       INFO  (output) INTEGER
44             = 0: successful exit
45             < 0: if INFO = -i, the i-th argument had an illegal value
46             > 0: the algorithm failed = 1, a split was marked by  a  positive
47             value  in  E  = 2, current block of Z not diagonalized after 30*N
48             iterations (in inner while loop) = 3,  termination  criterion  of
49             outer  while  loop not met (program created more than N unreduced
50             blocks)
51
52
53
54 LAPACK routine (version 3.2)    November 2008                       DLASQ1(1)
Impressum