The R Project SVN R

Rev

Rev 59926 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 59926 Rev 59951
Line 1... Line -...
1
 
-
 
2
diff -ru ./dset/dorcsd.f /tmp/dset/dorcsd.f
1
diff -ru dorcsd.f /tmp/dorcsd.f
3
--- ./dset/dorcsd.f	2012-04-11 20:42:32.000000000 +0100
2
--- dorcsd.f	2012-04-11 20:42:32.000000000 +0100
4
+++ /tmp/dset/dorcsd.f	2012-07-21 13:48:01.000000000 +0100
3
+++ /tmp/dorcsd.f	2012-07-21 13:48:01.000000000 +0100
5
@@ -427,19 +428,26 @@
4
@@ -427,19 +428,26 @@
6
          ITAUQ1 = ITAUP2 + MAX( 1, M - P )
5
          ITAUQ1 = ITAUP2 + MAX( 1, M - P )
7
          ITAUQ2 = ITAUQ1 + MAX( 1, Q )
6
          ITAUQ2 = ITAUQ1 + MAX( 1, Q )
8
          IORGQR = ITAUQ2 + MAX( 1, M - Q )
7
          IORGQR = ITAUQ2 + MAX( 1, M - Q )
9
-         CALL DORGQR( M-Q, M-Q, M-Q, 0, MAX(1,M-Q), 0, WORK, -1,
8
-         CALL DORGQR( M-Q, M-Q, M-Q, 0, MAX(1,M-Q), 0, WORK, -1,
Line 56... Line 55...
56
@@ -595,4 +609,3 @@
55
@@ -595,4 +609,3 @@
57
 *     End DORCSD
56
 *     End DORCSD
58
 *
57
 *
59
       END
58
       END
60
-
59
-
61
diff -ru ./zset/zgesvd.f /tmp/zset/zgesvd.f
-
 
62
--- ./zset/zgesvd.f	2012-07-19 16:15:41.000000000 +0100
60
--- zgesvd.f	2012-04-13 19:13:07.000000000 +0100
63
+++ /tmp/zset/zgesvd.f	2012-07-21 13:48:19.000000000 +0100
61
+++ /tmp/zgesvd.f	2012-07-23 09:14:24.000000000 +0100
64
@@ -321,23 +321,23 @@
62
@@ -321,24 +321,24 @@
65
 *
63
 *
66
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
64
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
67
 *           Compute space needed for ZGEQRF
65
 *           Compute space needed for ZGEQRF
68
-            CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
66
-            CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
-
 
67
-            LWORK_ZGEQRF=DUM(1)
69
+            CALL ZGEQRF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
68
+            CALL ZGEQRF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
70
             LWORK_ZGEQRF=DUM(1)
69
+            LWORK_ZGEQRF=CDUM(1)
71
 *           Compute space needed for ZUNGQR
70
 *           Compute space needed for ZUNGQR
72
-            CALL ZUNGQR( M, N, N, A, LDA, DUM(1), DUM(1), -1, IERR )
71
-            CALL ZUNGQR( M, N, N, A, LDA, DUM(1), DUM(1), -1, IERR )
73
+            CALL ZUNGQR( M, N, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-
 
74
             LWORK_ZUNGQR_N=DUM(1)
72
-            LWORK_ZUNGQR_N=DUM(1)
75
-            CALL ZUNGQR( M, M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
73
-            CALL ZUNGQR( M, M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
-
 
74
-            LWORK_ZUNGQR_M=DUM(1)
-
 
75
+            CALL ZUNGQR( M, N, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-
 
76
+            LWORK_ZUNGQR_N=CDUM(1)
76
+            CALL ZUNGQR( M, M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
77
+            CALL ZUNGQR( M, M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
77
             LWORK_ZUNGQR_M=DUM(1)
78
+            LWORK_ZUNGQR_M=CDUM(1)
78
 *           Compute space needed for ZGEBRD
79
 *           Compute space needed for ZGEBRD
79
-            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), DUM(1),
80
-            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), DUM(1),
80
-     $                   DUM(1), DUM(1), -1, IERR )
81
-     $                   DUM(1), DUM(1), -1, IERR )
-
 
82
-            LWORK_ZGEBRD=DUM(1)
81
+            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), CDUM(1),
83
+            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), CDUM(1),
82
+     $                   CDUM(1), CDUM(1), -1, IERR )
84
+     $                   CDUM(1), CDUM(1), -1, IERR )
83
             LWORK_ZGEBRD=DUM(1)
85
+            LWORK_ZGEBRD=CDUM(1)
84
 *           Compute space needed for ZUNGBR
86
 *           Compute space needed for ZUNGBR
85
-            CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
87
-            CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
86
-     $                   DUM(1), -1, IERR )
88
-     $                   DUM(1), -1, IERR )
87
+            CALL ZUNGBR( 'P', N, N, N, A, LDA, CDUM(1),
-
 
88
+     $                   CDUM(1), -1, IERR )
-
 
89
             LWORK_ZUNGBR_P=DUM(1)
89
-            LWORK_ZUNGBR_P=DUM(1)
90
-            CALL ZUNGBR( 'Q', N, N, N, A, LDA, DUM(1),
90
-            CALL ZUNGBR( 'Q', N, N, N, A, LDA, DUM(1),
91
-     $                   DUM(1), -1, IERR )
91
-     $                   DUM(1), -1, IERR )
-
 
92
-            LWORK_ZUNGBR_Q=DUM(1)
-
 
93
+            CALL ZUNGBR( 'P', N, N, N, A, LDA, CDUM(1),
-
 
94
+     $                   CDUM(1), -1, IERR )
-
 
95
+            LWORK_ZUNGBR_P=CDUM(1)
92
+            CALL ZUNGBR( 'Q', N, N, N, A, LDA, CDUM(1),
96
+            CALL ZUNGBR( 'Q', N, N, N, A, LDA, CDUM(1),
93
+     $                   CDUM(1), -1, IERR )
97
+     $                   CDUM(1), -1, IERR )
94
             LWORK_ZUNGBR_Q=DUM(1)
98
+            LWORK_ZUNGBR_Q=CDUM(1)
95
 *
99
 *
96
             IF( M.GE.MNTHR ) THEN
100
             IF( M.GE.MNTHR ) THEN
-
 
101
                IF( WNTUN ) THEN
97
@@ -443,19 +443,19 @@
102
@@ -443,20 +443,20 @@
98
 *
103
 *
99
 *              Path 10 (M at least N, but not much larger)
104
 *              Path 10 (M at least N, but not much larger)
100
 *
105
 *
101
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
106
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
102
-     $                   DUM(1), DUM(1), -1, IERR )
107
-     $                   DUM(1), DUM(1), -1, IERR )
-
 
108
-               LWORK_ZGEBRD=DUM(1)
103
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
109
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
104
+     $                   CDUM(1), CDUM(1), -1, IERR )
110
+     $                   CDUM(1), CDUM(1), -1, IERR )
105
                LWORK_ZGEBRD=DUM(1)
111
+               LWORK_ZGEBRD=CDUM(1)
106
                MAXWRK = 2*N + LWORK_ZGEBRD
112
                MAXWRK = 2*N + LWORK_ZGEBRD
107
                IF( WNTUS .OR. WNTUO ) THEN
113
                IF( WNTUS .OR. WNTUO ) THEN
108
-                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, DUM(1),
114
-                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, DUM(1),
109
-     $                   DUM(1), -1, IERR )
115
-     $                   DUM(1), -1, IERR )
-
 
116
-                  LWORK_ZUNGBR_Q=DUM(1)
110
+                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, CDUM(1),
117
+                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, CDUM(1),
111
+     $                   CDUM(1), -1, IERR )
118
+     $                   CDUM(1), -1, IERR )
112
                   LWORK_ZUNGBR_Q=DUM(1)
119
+                  LWORK_ZUNGBR_Q=CDUM(1)
113
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
120
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
114
                END IF
121
                END IF
115
                IF( WNTUA ) THEN
122
                IF( WNTUA ) THEN
116
-                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, DUM(1),
123
-                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, DUM(1),
117
-     $                   DUM(1), -1, IERR )
124
-     $                   DUM(1), -1, IERR )
-
 
125
-                  LWORK_ZUNGBR_Q=DUM(1)
118
+                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, CDUM(1),
126
+                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, CDUM(1),
119
+     $                   CDUM(1), -1, IERR )
127
+     $                   CDUM(1), -1, IERR )
120
                   LWORK_ZUNGBR_Q=DUM(1)
128
+                  LWORK_ZUNGBR_Q=CDUM(1)
121
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
129
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
122
                END IF
130
                END IF
-
 
131
                IF( .NOT.WNTVN ) THEN
123
@@ -470,24 +470,25 @@
132
@@ -470,25 +470,26 @@
124
 *
133
 *
125
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
134
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
126
 *           Compute space needed for ZGELQF
135
 *           Compute space needed for ZGELQF
127
-            CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
136
-            CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
-
 
137
-            LWORK_ZGELQF=DUM(1)
128
+            CALL ZGELQF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
138
+            CALL ZGELQF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
129
             LWORK_ZGELQF=DUM(1)
139
+            LWORK_ZGELQF=CDUM(1)
130
 *           Compute space needed for ZUNGLQ
140
 *           Compute space needed for ZUNGLQ
131
-            CALL ZUNGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR )
141
-            CALL ZUNGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR )
-
 
142
-            LWORK_ZUNGLQ_N=DUM(1)
-
 
143
-            CALL ZUNGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR )
-
 
144
-            LWORK_ZUNGLQ_M=DUM(1)
132
+            CALL ZUNGLQ( N, N, M, CDUM(1), N, CDUM(1), CDUM(1), -1,
145
+            CALL ZUNGLQ( N, N, M, CDUM(1), N, CDUM(1), CDUM(1), -1,
133
+     $                  IERR )
146
+     $                  IERR )
134
             LWORK_ZUNGLQ_N=DUM(1)
147
+            LWORK_ZUNGLQ_N=CDUM(1)
135
-            CALL ZUNGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR )
-
 
136
+            CALL ZUNGLQ( M, N, M, A, LDA, CDUM(1), CDUM(1), -1, IERR )
148
+            CALL ZUNGLQ( M, N, M, A, LDA, CDUM(1), CDUM(1), -1, IERR )
137
             LWORK_ZUNGLQ_M=DUM(1)
149
+            LWORK_ZUNGLQ_M=CDUM(1)
138
 *           Compute space needed for ZGEBRD
150
 *           Compute space needed for ZGEBRD
139
-            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
151
-            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
140
-     $                   DUM(1), DUM(1), -1, IERR )
152
-     $                   DUM(1), DUM(1), -1, IERR )
-
 
153
-            LWORK_ZGEBRD=DUM(1)
141
+            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), CDUM(1),
154
+            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), CDUM(1),
142
+     $                   CDUM(1), CDUM(1), -1, IERR )
155
+     $                   CDUM(1), CDUM(1), -1, IERR )
143
             LWORK_ZGEBRD=DUM(1)
156
+            LWORK_ZGEBRD=CDUM(1)
144
 *            Compute space needed for ZUNGBR P
157
 *            Compute space needed for ZUNGBR P
145
-            CALL ZUNGBR( 'P', M, M, M, A, N, DUM(1),
158
-            CALL ZUNGBR( 'P', M, M, M, A, N, DUM(1),
146
-     $                   DUM(1), -1, IERR )
159
-     $                   DUM(1), -1, IERR )
-
 
160
-            LWORK_ZUNGBR_P=DUM(1)
147
+            CALL ZUNGBR( 'P', M, M, M, A, N, CDUM(1),
161
+            CALL ZUNGBR( 'P', M, M, M, A, N, CDUM(1),
148
+     $                   CDUM(1), -1, IERR )
162
+     $                   CDUM(1), -1, IERR )
149
             LWORK_ZUNGBR_P=DUM(1)
163
+            LWORK_ZUNGBR_P=CDUM(1)
150
 *           Compute space needed for ZUNGBR Q
164
 *           Compute space needed for ZUNGBR Q
151
-            CALL ZUNGBR( 'Q', M, M, M, A, N, DUM(1),
165
-            CALL ZUNGBR( 'Q', M, M, M, A, N, DUM(1),
152
-     $                   DUM(1), -1, IERR )
166
-     $                   DUM(1), -1, IERR )
-
 
167
-            LWORK_ZUNGBR_Q=DUM(1)
153
+            CALL ZUNGBR( 'Q', M, M, M, A, N, CDUM(1),
168
+            CALL ZUNGBR( 'Q', M, M, M, A, N, CDUM(1),
154
+     $                   CDUM(1), -1, IERR )
169
+     $                   CDUM(1), -1, IERR )
155
             LWORK_ZUNGBR_Q=DUM(1)
170
+            LWORK_ZUNGBR_Q=CDUM(1)
156
             IF( N.GE.MNTHR ) THEN
171
             IF( N.GE.MNTHR ) THEN
157
                IF( WNTVN ) THEN
172
                IF( WNTVN ) THEN
-
 
173
 *
158
@@ -592,20 +593,20 @@
174
@@ -592,21 +593,21 @@
159
 *
175
 *
160
 *              Path 10t(N greater than M, but not much larger)
176
 *              Path 10t(N greater than M, but not much larger)
161
 *
177
 *
162
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
178
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
163
-     $                   DUM(1), DUM(1), -1, IERR )
179
-     $                   DUM(1), DUM(1), -1, IERR )
-
 
180
-               LWORK_ZGEBRD=DUM(1)
164
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
181
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
165
+     $                   CDUM(1), CDUM(1), -1, IERR )
182
+     $                   CDUM(1), CDUM(1), -1, IERR )
166
                LWORK_ZGEBRD=DUM(1)
183
+               LWORK_ZGEBRD=CDUM(1)
167
                MAXWRK = 2*M + LWORK_ZGEBRD
184
                MAXWRK = 2*M + LWORK_ZGEBRD
168
                IF( WNTVS .OR. WNTVO ) THEN
185
                IF( WNTVS .OR. WNTVO ) THEN
169
 *                Compute space needed for ZUNGBR P
186
 *                Compute space needed for ZUNGBR P
170
-                 CALL ZUNGBR( 'P', M, N, M, A, N, DUM(1),
187
-                 CALL ZUNGBR( 'P', M, N, M, A, N, DUM(1),
171
-     $                   DUM(1), -1, IERR )
188
-     $                   DUM(1), -1, IERR )
-
 
189
-                 LWORK_ZUNGBR_P=DUM(1)
172
+                 CALL ZUNGBR( 'P', M, N, M, A, N, CDUM(1),
190
+                 CALL ZUNGBR( 'P', M, N, M, A, N, CDUM(1),
173
+     $                   CDUM(1), -1, IERR )
191
+     $                   CDUM(1), -1, IERR )
174
                  LWORK_ZUNGBR_P=DUM(1)
192
+                 LWORK_ZUNGBR_P=CDUM(1)
175
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
193
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
176
                END IF
194
                END IF
177
                IF( WNTVA ) THEN
195
                IF( WNTVA ) THEN
178
-                 CALL ZUNGBR( 'P', N,  N, M, A, N, DUM(1),
196
-                 CALL ZUNGBR( 'P', N,  N, M, A, N, DUM(1),
179
-     $                   DUM(1), -1, IERR )
197
-     $                   DUM(1), -1, IERR )
-
 
198
-                 LWORK_ZUNGBR_P=DUM(1)
180
+                 CALL ZUNGBR( 'P', N,  N, M, A, N, CDUM(1),
199
+                 CALL ZUNGBR( 'P', N,  N, M, A, N, CDUM(1),
181
+     $                   CDUM(1), -1, IERR )
200
+     $                   CDUM(1), -1, IERR )
182
                  LWORK_ZUNGBR_P=DUM(1)
201
+                 LWORK_ZUNGBR_P=CDUM(1)
183
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
202
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
184
                END IF
203
                END IF
-
 
204
                IF( .NOT.WNTUN ) THEN