Skip to content

Commit 5b1b111

Browse files
author
Johnathan Rhyne
committed
Fixed other calls exceding column 72 with -DLAPACK_64 flag and corrected comments in dorgx family
1 parent 1793565 commit 5b1b111

File tree

4 files changed

+27
-26
lines changed

4 files changed

+27
-26
lines changed

SRC/dlumm.f

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -276,15 +276,15 @@ RECURSIVE SUBROUTINE DLUMM(SIDEL, DIAGL, DIAGU, N, ALPHA,
276276
*
277277
* A_{12} = \alpha*L_{11}*U_{12}
278278
*
279-
CALL DTRMM('Left', 'Lower', 'No Transpose', DIAGL, K, N-K,
280-
$ ALPHA, A, LDA, A(1,K+1), LDA)
279+
CALL DTRMM('Left', 'Lower', 'No Transpose', DIAGL, K,
280+
$ N-K, ALPHA, A, LDA, A(1,K+1), LDA)
281281
*
282282
* Compute A_{21}
283283
*
284284
* A_{21} = \alpha*L_{21}*U_{11}
285285
*
286-
CALL DTRMM('Right', 'Upper', 'No Transpose', DIAGU, N-K, K,
287-
$ ALPHA, A, LDA, A(K+1,1), LDA)
286+
CALL DTRMM('Right', 'Upper', 'No Transpose', DIAGU, N-K,
287+
$ K, ALPHA, A, LDA, A(K+1,1), LDA)
288288
*
289289
* Compute A_{11}
290290
*
@@ -329,15 +329,15 @@ RECURSIVE SUBROUTINE DLUMM(SIDEL, DIAGL, DIAGU, N, ALPHA,
329329
*
330330
* A_{12} = \alpha*U_{12}*L_{22}
331331
*
332-
CALL DTRMM('Right', 'Lower', 'No Transpose', DIAGL, K, N-K,
333-
$ ALPHA, A(K+1,K+1), LDA, A(1,K+1), LDA)
332+
CALL DTRMM('Right', 'Lower', 'No Transpose', DIAGL, K,
333+
$ N-K, ALPHA, A(K+1,K+1), LDA, A(1,K+1), LDA)
334334
*
335335
* Compute A_{21}
336336
*
337337
* A_{21} = \alpha*U_{22}*L_{21}
338338
*
339-
CALL DTRMM('Left', 'Upper', 'No Transpose', DIAGU, N-K, K,
340-
$ ALPHA, A(K+1, K+1), LDA, A(K+1,1), LDA)
339+
CALL DTRMM('Left', 'Upper', 'No Transpose', DIAGU, N-K,
340+
$ K, ALPHA, A(K+1, K+1), LDA, A(K+1,1), LDA)
341341
*
342342
* Compute A_{22}
343343
*

SRC/dorglq.f

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ SUBROUTINE DORGLQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
144144
$ NB, NBMIN, NX
145145
* ..
146146
* .. External Subroutines ..
147-
EXTERNAL DLARFB0C2, DLARFT, DORGL2, XERBLA
147+
EXTERNAL DLARFB0C2, DLARFT, DORGL2, DORGLK, XERBLA
148148
* ..
149149
* .. Intrinsic Functions ..
150150
INTRINSIC MAX, MIN
@@ -159,7 +159,8 @@ SUBROUTINE DORGLQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
159159
*
160160
INFO = 0
161161
NB = ILAENV( 1, 'DORGLQ', ' ', M, N, K, -1 )
162-
LWKOPT = MAX( 1, M ) * NB
162+
! Only need a workspace for calls to dorgl2
163+
LWKOPT = MAX( 1, M )
163164
WORK( 1 ) = LWKOPT
164165
LQUERY = ( LWORK.EQ.-1 )
165166
IF( M.LT.0 ) THEN
@@ -268,7 +269,7 @@ SUBROUTINE DORGLQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
268269
$ LDA, A(I,I), LDA, A(I+IB,I), LDA)
269270
*
270271
* Apply H to columns i:n of current block
271-
272+
*
272273
CALL DORGLK( IB, N-I+1, A( I, I ), LDA)
273274
END DO
274275
*
@@ -283,19 +284,18 @@ SUBROUTINE DORGLQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
283284
* Form the triangular factor of the block reflector
284285
* H = H(i) H(i+1) . . . H(i+ib-1)
285286
*
286-
CALL DLARFT( 'Forward', 'Rowwise', N-I+1, IB, A( I, I ),
287-
$ LDA, TAU( I ), WORK, LDWORK )
287+
CALL DLARFT( 'Forward', 'Transpose', N-I+1, IB, A(I,I),
288+
$ LDA, TAU( I ), A( I, I ), LDA )
289+
*
290+
* Apply H to A(i+ib:m,i:n) from the right
288291
*
289-
* Apply H**T to A(i+ib:m,i:n) from the right
292+
CALL DLARFB0C2(.FALSE., 'Right', 'No Transpose',
293+
$ 'Forward', 'Rowwise', M-I-IB+1, N-I+1, IB, A(I,I),
294+
$ LDA, A(I,I), LDA, A(I+IB,I), LDA)
290295
*
291-
CALL DLARFB0C2(.FALSE., 'Right', 'Transpose', 'Forward',
292-
$ 'Rowwise', M-I-IB+1, N-I+1, IB, A(I,I), LDA, WORK,
293-
$ LDWORK, A(I+IB,I), LDA)
296+
* Apply H to columns i:n of current block
294297
*
295-
* Apply H**T to columns i:n of current block
296-
297-
CALL DORGL2( IB, N-I+1, IB, A( I, I ), LDA, TAU( I ),
298-
$ WORK, IINFO )
298+
CALL DORGLK( IB, N-I+1, A( I, I ), LDA)
299299
END IF
300300
END IF
301301
*

SRC/dorgql.f

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ SUBROUTINE DORGQL( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
142142
INTEGER I, IB, IINFO, IWS, KK, LWKOPT, NB, NBMIN
143143
* ..
144144
* .. External Subroutines ..
145-
EXTERNAL DLARFB0C2, DLARFT, DORG2L, XERBLA
145+
EXTERNAL DLARFB0C2, DLARFT, DORG2L, DORGKL, XERBLA
146146
* ..
147147
* .. Intrinsic Functions ..
148148
INTRINSIC MAX, MIN

SRC/dorgrq.f

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ SUBROUTINE DORGRQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
145145
$ LWKOPT, NB, NBMIN, NX
146146
* ..
147147
* .. External Subroutines ..
148-
EXTERNAL DLARFB0C2, DLARFT, DORGR2, XERBLA
148+
EXTERNAL DLARFB0C2, DLARFT, DORGR2, DORGRK, XERBLA
149149
* ..
150150
* .. Intrinsic Functions ..
151151
INTRINSIC MAX, MIN
@@ -175,7 +175,8 @@ SUBROUTINE DORGRQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
175175
LWKOPT = 1
176176
ELSE
177177
NB = ILAENV( 1, 'DORGRQ', ' ', M, N, K, -1 )
178-
LWKOPT = M*NB
178+
! Only need a workspace for calls to dorgr2
179+
LWKOPT = M
179180
END IF
180181
WORK( 1 ) = LWKOPT
181182
*
@@ -277,13 +278,13 @@ SUBROUTINE DORGRQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
277278
CALL DLARFT( 'Transpose', 'Rowwise', N-K+I+IB-1, IB,
278279
$ A( II, 1 ), LDA, TAU( I ), A( II, N-K+I ), LDA )
279280
*
280-
* Apply H**T to A(1:m-k+i-1,1:n-k+i+ib-1) from the right
281+
* Apply H to A(1:m-k+i-1,1:n-k+i+ib-1) from the right
281282
*
282283
CALL DLARFB0C2(.FALSE., 'Right', 'No Transpose',
283284
$ 'Backward', 'Rowwise', II-1, N-K+I+IB-1, IB, A(II,1),
284285
$ LDA, A( II, N-K+I ), LDA, A, LDA)
285286
*
286-
* Apply H**T to columns 1:n-k+i+ib-1 of current block
287+
* Apply H to columns 1:n-k+i+ib-1 of current block
287288
*
288289
CALL DORGRK( IB, N-K+I+IB-1, A( II, 1 ), LDA )
289290
END DO

0 commit comments

Comments
 (0)