1SLASQ3(1)LAPACK routine (version 3.2) SLASQ3(1)
2
3
4
6 SLASQ3 - checks for deflation, computes a shift (TAU) and calls dqds
7
9 SUBROUTINE SLASQ3( I0, N0, Z, PP, DMIN, SIGMA, DESIG, QMAX, NFAIL,
10 ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1, DN2,
11 G, TAU )
12
13 LOGICAL IEEE
14
15 INTEGER I0, ITER, N0, NDIV, NFAIL, PP
16
17 REAL DESIG, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, QMAX,
18 SIGMA, TAU
19
20 REAL Z( * )
21
23 SLASQ3 checks for deflation, computes a shift (TAU) and calls dqds. In
24 case of failure it changes shifts, and tries again until output is pos‐
25 itive.
26
28 I0 (input) INTEGER
29 First index.
30
31 N0 (input) INTEGER
32 Last index.
33
34 Z (input) REAL array, dimension ( 4*N )
35 Z holds the qd array.
36
37 PP (input/output) INTEGER
38 PP=0 for ping, PP=1 for pong. PP=2 indicates that flipping was
39 applied to the Z array and that the initial tests for deflation
40 should not be performed.
41
42 DMIN (output) REAL
43 Minimum value of d.
44
45 SIGMA (output) REAL
46 Sum of shifts used in current segment.
47
48 DESIG (input/output) REAL
49 Lower order part of SIGMA
50
51 QMAX (input) REAL
52 Maximum value of q.
53
54 NFAIL (output) INTEGER
55 Number of times shift was too big.
56
57 ITER (output) INTEGER
58 Number of iterations.
59
60 NDIV (output) INTEGER
61 Number of divisions.
62
63 IEEE (input) LOGICAL
64 Flag for IEEE or non IEEE arithmetic (passed to SLASQ5).
65
66 TTYPE (input/output) INTEGER
67 Shift type. DMIN1, DMIN2, DN, DN1, DN2, G, TAU (input/output)
68 REAL These are passed as arguments in order to save their values
69 between calls to SLASQ3.
70
71
72
73 LAPACK routine (version 3.2) November 2008 SLASQ3(1)