The R Project SVN R

Rev

Rev 59951 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 59951 Rev 62769
1
diff -ru dorcsd.f /tmp/dorcsd.f
1
diff -u /tmp/dlapack.f ./dlapack.f
2
--- dorcsd.f	2012-04-11 20:42:32.000000000 +0100
2
--- /tmp/dlapack.f	2013-05-21 10:11:22.000000000 +0100
3
+++ /tmp/dorcsd.f	2012-07-21 13:48:01.000000000 +0100
3
+++ ./dlapack.f	2013-05-21 14:11:49.000000000 +0100
-
 
4
@@ -21128,7 +21128,8 @@
-
 
5
 *
-
 
6
 *        Compute Householder transform when N=1
-
 
7
 *
-
 
8
-         CALL DLARFG( M, A, A( MIN( 2, M ), 1 ), 1, T )
-
 
9
+*  R change to stop gfortran warning
-
 
10
+         CALL DLARFG( M, A(1,1), A( MIN( 2, M ), 1 ), 1, T(1,1) )
-
 
11
 *         
-
 
12
       ELSE
-
 
13
 *
4
@@ -427,19 +428,26 @@
14
@@ -96739,19 +96740,26 @@
5
          ITAUQ1 = ITAUP2 + MAX( 1, M - P )
15
          ITAUQ1 = ITAUP2 + MAX( 1, M - P )
6
          ITAUQ2 = ITAUQ1 + MAX( 1, Q )
16
          ITAUQ2 = ITAUQ1 + MAX( 1, Q )
7
          IORGQR = ITAUQ2 + MAX( 1, M - Q )
17
          IORGQR = ITAUQ2 + MAX( 1, M - Q )
8
-         CALL DORGQR( M-Q, M-Q, M-Q, 0, MAX(1,M-Q), 0, WORK, -1,
18
-         CALL DORGQR( M-Q, M-Q, M-Q, 0, MAX(1,M-Q), 0, WORK, -1,
9
+c WORK is a suitable dummy
19
+c WORK is a suitable dummy
10
+         CALL DORGQR( M-Q, M-Q, M-Q, WORK, MAX(1,M-Q), WORK, WORK, -1,
20
+         CALL DORGQR( M-Q, M-Q, M-Q, WORK, MAX(1,M-Q), WORK, WORK, -1,
11
      $                CHILDINFO )
21
      $                CHILDINFO )
12
          LORGQRWORKOPT = INT( WORK(1) )
22
          LORGQRWORKOPT = INT( WORK(1) )
13
          LORGQRWORKMIN = MAX( 1, M - Q )
23
          LORGQRWORKMIN = MAX( 1, M - Q )
14
          IORGLQ = ITAUQ2 + MAX( 1, M - Q )
24
          IORGLQ = ITAUQ2 + MAX( 1, M - Q )
15
-         CALL DORGLQ( M-Q, M-Q, M-Q, 0, MAX(1,M-Q), 0, WORK, -1,
25
-         CALL DORGLQ( M-Q, M-Q, M-Q, 0, MAX(1,M-Q), 0, WORK, -1,
16
+c WORK is a suitable dummy
26
+c WORK is a suitable dummy
17
+         CALL DORGLQ( M-Q, M-Q, M-Q, WORK, MAX(1,M-Q), WORK, WORK, -1,
27
+         CALL DORGLQ( M-Q, M-Q, M-Q, WORK, MAX(1,M-Q), WORK, WORK, -1,
18
      $                CHILDINFO )
28
      $                CHILDINFO )
19
          LORGLQWORKOPT = INT( WORK(1) )
29
          LORGLQWORKOPT = INT( WORK(1) )
20
          LORGLQWORKMIN = MAX( 1, M - Q )
30
          LORGLQWORKMIN = MAX( 1, M - Q )
21
          IORBDB = ITAUQ2 + MAX( 1, M - Q )
31
          IORBDB = ITAUQ2 + MAX( 1, M - Q )
22
-         CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12,
32
-         CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12,
23
-     $                X21, LDX21, X22, LDX22, 0, 0, 0, 0, 0, 0, WORK,
33
-     $                X21, LDX21, X22, LDX22, 0, 0, 0, 0, 0, 0, WORK,
24
-     $                -1, CHILDINFO )
34
-     $                -1, CHILDINFO )
25
+c avoid compiler warnings
35
+c avoid compiler warnings
26
+c         CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12,
36
+c         CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12,
27
+c     $                X21, LDX21, X22, LDX22, 0, 0, 0, 0, 0, 0, WORK,
37
+c     $                X21, LDX21, X22, LDX22, 0, 0, 0, 0, 0, 0, WORK,
28
+c     $                -1, CHILDINFO )
38
+c     $                -1, CHILDINFO )
29
+      CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12, X21,
39
+      CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12, X21,
30
+     $             LDX21, X22, LDX22, THETA, WORK(IPHI), WORK(ITAUP1),
40
+     $             LDX21, X22, LDX22, THETA, WORK(IPHI), WORK(ITAUP1),
31
+     $             WORK(ITAUP2), WORK(ITAUQ1), WORK(ITAUQ2),
41
+     $             WORK(ITAUP2), WORK(ITAUQ1), WORK(ITAUQ2),
32
+     $             WORK(IORBDB), -1, CHILDINFO )
42
+     $             WORK(IORBDB), -1, CHILDINFO )
33
          LORBDBWORKOPT = INT( WORK(1) )
43
          LORBDBWORKOPT = INT( WORK(1) )
34
          LORBDBWORKMIN = LORBDBWORKOPT
44
          LORBDBWORKMIN = LORBDBWORKOPT
35
          IB11D = ITAUQ2 + MAX( 1, M - Q )
45
          IB11D = ITAUQ2 + MAX( 1, M - Q )
36
@@ -451,9 +459,15 @@
46
@@ -96763,9 +96771,15 @@
37
          IB22D = IB21E + MAX( 1, Q - 1 )
47
          IB22D = IB21E + MAX( 1, Q - 1 )
38
          IB22E = IB22D + MAX( 1, Q )
48
          IB22E = IB22D + MAX( 1, Q )
39
          IBBCSD = IB22E + MAX( 1, Q - 1 )
49
          IBBCSD = IB22E + MAX( 1, Q - 1 )
40
-         CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 0,
50
-         CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 0,
41
-     $                0, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, 0,
51
-     $                0, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, 0,
42
-     $                0, 0, 0, 0, 0, 0, 0, WORK, -1, CHILDINFO )
52
-     $                0, 0, 0, 0, 0, 0, 0, WORK, -1, CHILDINFO )
43
+c         CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 0,
53
+c         CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 0,
44
+c     $                0, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, 0,
54
+c     $                0, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, 0,
45
+c     $                0, 0, 0, 0, 0, 0, 0, WORK, -1, CHILDINFO )
55
+c     $                0, 0, 0, 0, 0, 0, 0, WORK, -1, CHILDINFO )
46
+        CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 
56
+        CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 
47
+     $             THETA,
57
+     $             THETA,
48
+     $             WORK(IPHI), U1, LDU1, U2, LDU2, V1T, LDV1T, V2T,
58
+     $             WORK(IPHI), U1, LDU1, U2, LDU2, V1T, LDV1T, V2T,
49
+     $             LDV2T, WORK(IB11D), WORK(IB11E), WORK(IB12D),
59
+     $             LDV2T, WORK(IB11D), WORK(IB11E), WORK(IB12D),
50
+     $             WORK(IB12E), WORK(IB21D), WORK(IB21E), WORK(IB22D),
60
+     $             WORK(IB12E), WORK(IB21D), WORK(IB21E), WORK(IB22D),
51
+     $             WORK(IB22E), WORK(IBBCSD), -1, INFO )
61
+     $             WORK(IB22E), WORK(IBBCSD), -1, INFO )
52
          LBBCSDWORKOPT = INT( WORK(1) )
62
          LBBCSDWORKOPT = INT( WORK(1) )
53
          LBBCSDWORKMIN = LBBCSDWORKOPT
63
          LBBCSDWORKMIN = LBBCSDWORKOPT
54
          LWORKOPT = MAX( IORGQR + LORGQRWORKOPT, IORGLQ + LORGLQWORKOPT,
64
          LWORKOPT = MAX( IORGQR + LORGQRWORKOPT, IORGLQ + LORGLQWORKOPT,
55
@@ -595,4 +609,3 @@
65
diff -u /tmp/cmplx.f ./cmplx.f
56
 *     End DORCSD
-
 
57
 *
-
 
58
       END
-
 
59
-
-
 
60
--- zgesvd.f	2012-04-13 19:13:07.000000000 +0100
66
--- /tmp/cmplx.f	2013-05-21 10:11:22.000000000 +0100
61
+++ /tmp/zgesvd.f	2012-07-23 09:14:24.000000000 +0100
67
+++ ./cmplx.f	2013-05-21 10:16:35.000000000 +0100
62
@@ -321,24 +321,24 @@
68
@@ -6054,24 +6054,24 @@
63
 *
69
 *
64
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
70
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
65
 *           Compute space needed for ZGEQRF
71
 *           Compute space needed for ZGEQRF
66
-            CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
72
-            CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
67
-            LWORK_ZGEQRF=DUM(1)
73
-            LWORK_ZGEQRF=DUM(1)
68
+            CALL ZGEQRF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
74
+            CALL ZGEQRF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
69
+            LWORK_ZGEQRF=CDUM(1)
75
+            LWORK_ZGEQRF=CDUM(1)
70
 *           Compute space needed for ZUNGQR
76
 *           Compute space needed for ZUNGQR
71
-            CALL ZUNGQR( M, N, N, A, LDA, DUM(1), DUM(1), -1, IERR )
77
-            CALL ZUNGQR( M, N, N, A, LDA, DUM(1), DUM(1), -1, IERR )
72
-            LWORK_ZUNGQR_N=DUM(1)
78
-            LWORK_ZUNGQR_N=DUM(1)
73
-            CALL ZUNGQR( M, M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
79
-            CALL ZUNGQR( M, M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
74
-            LWORK_ZUNGQR_M=DUM(1)
80
-            LWORK_ZUNGQR_M=DUM(1)
75
+            CALL ZUNGQR( M, N, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
81
+            CALL ZUNGQR( M, N, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
76
+            LWORK_ZUNGQR_N=CDUM(1)
82
+            LWORK_ZUNGQR_N=CDUM(1)
77
+            CALL ZUNGQR( M, M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
83
+            CALL ZUNGQR( M, M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
78
+            LWORK_ZUNGQR_M=CDUM(1)
84
+            LWORK_ZUNGQR_M=CDUM(1)
79
 *           Compute space needed for ZGEBRD
85
 *           Compute space needed for ZGEBRD
80
-            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), DUM(1),
86
-            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), DUM(1),
81
-     $                   DUM(1), DUM(1), -1, IERR )
87
-     $                   DUM(1), DUM(1), -1, IERR )
82
-            LWORK_ZGEBRD=DUM(1)
88
-            LWORK_ZGEBRD=DUM(1)
83
+            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), CDUM(1),
89
+            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), CDUM(1),
84
+     $                   CDUM(1), CDUM(1), -1, IERR )
90
+     $                   CDUM(1), CDUM(1), -1, IERR )
85
+            LWORK_ZGEBRD=CDUM(1)
91
+            LWORK_ZGEBRD=CDUM(1)
86
 *           Compute space needed for ZUNGBR
92
 *           Compute space needed for ZUNGBR
87
-            CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
93
-            CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
88
-     $                   DUM(1), -1, IERR )
94
-     $                   DUM(1), -1, IERR )
89
-            LWORK_ZUNGBR_P=DUM(1)
95
-            LWORK_ZUNGBR_P=DUM(1)
90
-            CALL ZUNGBR( 'Q', N, N, N, A, LDA, DUM(1),
96
-            CALL ZUNGBR( 'Q', N, N, N, A, LDA, DUM(1),
91
-     $                   DUM(1), -1, IERR )
97
-     $                   DUM(1), -1, IERR )
92
-            LWORK_ZUNGBR_Q=DUM(1)
98
-            LWORK_ZUNGBR_Q=DUM(1)
93
+            CALL ZUNGBR( 'P', N, N, N, A, LDA, CDUM(1),
99
+            CALL ZUNGBR( 'P', N, N, N, A, LDA, CDUM(1),
94
+     $                   CDUM(1), -1, IERR )
100
+     $                   CDUM(1), -1, IERR )
95
+            LWORK_ZUNGBR_P=CDUM(1)
101
+            LWORK_ZUNGBR_P=CDUM(1)
96
+            CALL ZUNGBR( 'Q', N, N, N, A, LDA, CDUM(1),
102
+            CALL ZUNGBR( 'Q', N, N, N, A, LDA, CDUM(1),
97
+     $                   CDUM(1), -1, IERR )
103
+     $                   CDUM(1), -1, IERR )
98
+            LWORK_ZUNGBR_Q=CDUM(1)
104
+            LWORK_ZUNGBR_Q=CDUM(1)
99
 *
105
 *
100
             IF( M.GE.MNTHR ) THEN
106
             IF( M.GE.MNTHR ) THEN
101
                IF( WNTUN ) THEN
107
                IF( WNTUN ) THEN
102
@@ -443,20 +443,20 @@
108
@@ -6176,20 +6176,20 @@
103
 *
109
 *
104
 *              Path 10 (M at least N, but not much larger)
110
 *              Path 10 (M at least N, but not much larger)
105
 *
111
 *
106
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
112
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
107
-     $                   DUM(1), DUM(1), -1, IERR )
113
-     $                   DUM(1), DUM(1), -1, IERR )
108
-               LWORK_ZGEBRD=DUM(1)
114
-               LWORK_ZGEBRD=DUM(1)
109
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
115
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
110
+     $                   CDUM(1), CDUM(1), -1, IERR )
116
+     $                   CDUM(1), CDUM(1), -1, IERR )
111
+               LWORK_ZGEBRD=CDUM(1)
117
+               LWORK_ZGEBRD=CDUM(1)
112
                MAXWRK = 2*N + LWORK_ZGEBRD
118
                MAXWRK = 2*N + LWORK_ZGEBRD
113
                IF( WNTUS .OR. WNTUO ) THEN
119
                IF( WNTUS .OR. WNTUO ) THEN
114
-                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, DUM(1),
120
-                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, DUM(1),
115
-     $                   DUM(1), -1, IERR )
121
-     $                   DUM(1), -1, IERR )
116
-                  LWORK_ZUNGBR_Q=DUM(1)
122
-                  LWORK_ZUNGBR_Q=DUM(1)
117
+                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, CDUM(1),
123
+                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, CDUM(1),
118
+     $                   CDUM(1), -1, IERR )
124
+     $                   CDUM(1), -1, IERR )
119
+                  LWORK_ZUNGBR_Q=CDUM(1)
125
+                  LWORK_ZUNGBR_Q=CDUM(1)
120
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
126
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
121
                END IF
127
                END IF
122
                IF( WNTUA ) THEN
128
                IF( WNTUA ) THEN
123
-                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, DUM(1),
129
-                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, DUM(1),
124
-     $                   DUM(1), -1, IERR )
130
-     $                   DUM(1), -1, IERR )
125
-                  LWORK_ZUNGBR_Q=DUM(1)
131
-                  LWORK_ZUNGBR_Q=DUM(1)
126
+                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, CDUM(1),
132
+                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, CDUM(1),
127
+     $                   CDUM(1), -1, IERR )
133
+     $                   CDUM(1), -1, IERR )
128
+                  LWORK_ZUNGBR_Q=CDUM(1)
134
+                  LWORK_ZUNGBR_Q=CDUM(1)
129
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
135
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
130
                END IF
136
                END IF
131
                IF( .NOT.WNTVN ) THEN
137
                IF( .NOT.WNTVN ) THEN
132
@@ -470,25 +470,26 @@
138
@@ -6203,25 +6203,26 @@
133
 *
139
 *
134
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
140
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
135
 *           Compute space needed for ZGELQF
141
 *           Compute space needed for ZGELQF
136
-            CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
142
-            CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
137
-            LWORK_ZGELQF=DUM(1)
143
-            LWORK_ZGELQF=DUM(1)
138
+            CALL ZGELQF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
144
+            CALL ZGELQF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
139
+            LWORK_ZGELQF=CDUM(1)
145
+            LWORK_ZGELQF=CDUM(1)
140
 *           Compute space needed for ZUNGLQ
146
 *           Compute space needed for ZUNGLQ
141
-            CALL ZUNGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR )
147
-            CALL ZUNGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR )
142
-            LWORK_ZUNGLQ_N=DUM(1)
148
-            LWORK_ZUNGLQ_N=DUM(1)
143
-            CALL ZUNGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR )
149
-            CALL ZUNGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR )
144
-            LWORK_ZUNGLQ_M=DUM(1)
150
-            LWORK_ZUNGLQ_M=DUM(1)
145
+            CALL ZUNGLQ( N, N, M, CDUM(1), N, CDUM(1), CDUM(1), -1,
151
+            CALL ZUNGLQ( N, N, M, CDUM(1), N, CDUM(1), CDUM(1), -1,
146
+     $                  IERR )
152
+     $                  IERR )
147
+            LWORK_ZUNGLQ_N=CDUM(1)
153
+            LWORK_ZUNGLQ_N=CDUM(1)
148
+            CALL ZUNGLQ( M, N, M, A, LDA, CDUM(1), CDUM(1), -1, IERR )
154
+            CALL ZUNGLQ( M, N, M, A, LDA, CDUM(1), CDUM(1), -1, IERR )
149
+            LWORK_ZUNGLQ_M=CDUM(1)
155
+            LWORK_ZUNGLQ_M=CDUM(1)
150
 *           Compute space needed for ZGEBRD
156
 *           Compute space needed for ZGEBRD
151
-            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
157
-            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
152
-     $                   DUM(1), DUM(1), -1, IERR )
158
-     $                   DUM(1), DUM(1), -1, IERR )
153
-            LWORK_ZGEBRD=DUM(1)
159
-            LWORK_ZGEBRD=DUM(1)
154
+            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), CDUM(1),
160
+            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), CDUM(1),
155
+     $                   CDUM(1), CDUM(1), -1, IERR )
161
+     $                   CDUM(1), CDUM(1), -1, IERR )
156
+            LWORK_ZGEBRD=CDUM(1)
162
+            LWORK_ZGEBRD=CDUM(1)
157
 *            Compute space needed for ZUNGBR P
163
 *            Compute space needed for ZUNGBR P
158
-            CALL ZUNGBR( 'P', M, M, M, A, N, DUM(1),
164
-            CALL ZUNGBR( 'P', M, M, M, A, N, DUM(1),
159
-     $                   DUM(1), -1, IERR )
165
-     $                   DUM(1), -1, IERR )
160
-            LWORK_ZUNGBR_P=DUM(1)
166
-            LWORK_ZUNGBR_P=DUM(1)
161
+            CALL ZUNGBR( 'P', M, M, M, A, N, CDUM(1),
167
+            CALL ZUNGBR( 'P', M, M, M, A, N, CDUM(1),
162
+     $                   CDUM(1), -1, IERR )
168
+     $                   CDUM(1), -1, IERR )
163
+            LWORK_ZUNGBR_P=CDUM(1)
169
+            LWORK_ZUNGBR_P=CDUM(1)
164
 *           Compute space needed for ZUNGBR Q
170
 *           Compute space needed for ZUNGBR Q
165
-            CALL ZUNGBR( 'Q', M, M, M, A, N, DUM(1),
171
-            CALL ZUNGBR( 'Q', M, M, M, A, N, DUM(1),
166
-     $                   DUM(1), -1, IERR )
172
-     $                   DUM(1), -1, IERR )
167
-            LWORK_ZUNGBR_Q=DUM(1)
173
-            LWORK_ZUNGBR_Q=DUM(1)
168
+            CALL ZUNGBR( 'Q', M, M, M, A, N, CDUM(1),
174
+            CALL ZUNGBR( 'Q', M, M, M, A, N, CDUM(1),
169
+     $                   CDUM(1), -1, IERR )
175
+     $                   CDUM(1), -1, IERR )
170
+            LWORK_ZUNGBR_Q=CDUM(1)
176
+            LWORK_ZUNGBR_Q=CDUM(1)
171
             IF( N.GE.MNTHR ) THEN
177
             IF( N.GE.MNTHR ) THEN
172
                IF( WNTVN ) THEN
178
                IF( WNTVN ) THEN
173
 *
179
 *
174
@@ -592,21 +593,21 @@
180
@@ -6325,21 +6326,21 @@
175
 *
181
 *
176
 *              Path 10t(N greater than M, but not much larger)
182
 *              Path 10t(N greater than M, but not much larger)
177
 *
183
 *
178
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
184
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
179
-     $                   DUM(1), DUM(1), -1, IERR )
185
-     $                   DUM(1), DUM(1), -1, IERR )
180
-               LWORK_ZGEBRD=DUM(1)
186
-               LWORK_ZGEBRD=DUM(1)
181
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
187
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
182
+     $                   CDUM(1), CDUM(1), -1, IERR )
188
+     $                   CDUM(1), CDUM(1), -1, IERR )
183
+               LWORK_ZGEBRD=CDUM(1)
189
+               LWORK_ZGEBRD=CDUM(1)
184
                MAXWRK = 2*M + LWORK_ZGEBRD
190
                MAXWRK = 2*M + LWORK_ZGEBRD
185
                IF( WNTVS .OR. WNTVO ) THEN
191
                IF( WNTVS .OR. WNTVO ) THEN
186
 *                Compute space needed for ZUNGBR P
192
 *                Compute space needed for ZUNGBR P
187
-                 CALL ZUNGBR( 'P', M, N, M, A, N, DUM(1),
193
-                 CALL ZUNGBR( 'P', M, N, M, A, N, DUM(1),
188
-     $                   DUM(1), -1, IERR )
194
-     $                   DUM(1), -1, IERR )
189
-                 LWORK_ZUNGBR_P=DUM(1)
195
-                 LWORK_ZUNGBR_P=DUM(1)
190
+                 CALL ZUNGBR( 'P', M, N, M, A, N, CDUM(1),
196
+                 CALL ZUNGBR( 'P', M, N, M, A, N, CDUM(1),
191
+     $                   CDUM(1), -1, IERR )
197
+     $                   CDUM(1), -1, IERR )
192
+                 LWORK_ZUNGBR_P=CDUM(1)
198
+                 LWORK_ZUNGBR_P=CDUM(1)
193
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
199
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
194
                END IF
200
                END IF
195
                IF( WNTVA ) THEN
201
                IF( WNTVA ) THEN
196
-                 CALL ZUNGBR( 'P', N,  N, M, A, N, DUM(1),
202
-                 CALL ZUNGBR( 'P', N,  N, M, A, N, DUM(1),
197
-     $                   DUM(1), -1, IERR )
203
-     $                   DUM(1), -1, IERR )
198
-                 LWORK_ZUNGBR_P=DUM(1)
204
-                 LWORK_ZUNGBR_P=DUM(1)
199
+                 CALL ZUNGBR( 'P', N,  N, M, A, N, CDUM(1),
205
+                 CALL ZUNGBR( 'P', N,  N, M, A, N, CDUM(1),
200
+     $                   CDUM(1), -1, IERR )
206
+     $                   CDUM(1), -1, IERR )
201
+                 LWORK_ZUNGBR_P=CDUM(1)
207
+                 LWORK_ZUNGBR_P=CDUM(1)
202
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
208
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
203
                END IF
209
                END IF
204
                IF( .NOT.WNTUN ) THEN
210
                IF( .NOT.WNTUN ) THEN