The R Project SVN R

Rev

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

Rev 59951 Rev 62769
Line 1... Line 1...
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
Line 31... Line 41...
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,
Line 50... Line 60...
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)
Line 97... Line 103...
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 )
Line 127... Line 133...
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)
Line 169... Line 175...
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 )