55* Online html documentation available at
66* http://www.netlib.org/lapack/explore-html/
77*
8- * > \htmlonly
98* > Download CUNMQR + dependencies
109* > <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/cunmqr.f">
1110* > [TGZ]</a>
1211* > <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/cunmqr.f">
1312* > [ZIP]</a>
1413* > <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmqr.f">
1514* > [TXT]</a>
16- * > \endhtmlonly
1715*
1816* Definition:
1917* ===========
165163* =====================================================================
166164 SUBROUTINE CUNMQR ( SIDE , TRANS , M , N , K , A , LDA , TAU , C , LDC ,
167165 $ WORK , LWORK , INFO )
166+ IMPLICIT NONE
168167*
169168* -- LAPACK computational routine --
170169* -- LAPACK is a software package provided by Univ. of Tennessee, --
@@ -243,9 +242,10 @@ SUBROUTINE CUNMQR( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
243242*
244243* Compute the workspace requirements
245244*
246- NB = MIN ( NBMAX, ILAENV( 1 , ' CUNMQR' , SIDE // TRANS, M, N, K,
245+ NB = MIN ( NBMAX, ILAENV( 1 , ' CUNMQR' , SIDE // TRANS, M, N,
246+ $ K,
247247 $ - 1 ) )
248- LWKOPT = NW* NB + TSIZE
248+ LWKOPT = NW* NB + LDT * NB
249249 WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
250250 END IF
251251*
@@ -267,8 +267,9 @@ SUBROUTINE CUNMQR( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
267267 LDWORK = NW
268268 IF ( NB.GT. 1 .AND. NB.LT. K ) THEN
269269 IF ( LWORK.LT. LWKOPT ) THEN
270- NB = (LWORK- TSIZE) / LDWORK
271- NBMIN = MAX ( 2 , ILAENV( 2 , ' CUNMQR' , SIDE // TRANS, M, N, K,
270+ NB = LWORK / (LDWORK + LDT)
271+ NBMIN = MAX ( 2 , ILAENV( 2 , ' CUNMQR' , SIDE // TRANS, M, N,
272+ $ K,
272273 $ - 1 ) )
273274 END IF
274275 END IF
@@ -277,7 +278,8 @@ SUBROUTINE CUNMQR( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
277278*
278279* Use unblocked code
279280*
280- CALL CUNM2R( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK,
281+ CALL CUNM2R( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
282+ $ WORK,
281283 $ IINFO )
282284 ELSE
283285*
@@ -309,7 +311,8 @@ SUBROUTINE CUNMQR( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
309311* Form the triangular factor of the block reflector
310312* H = H(i) H(i+1) . . . H(i+ib-1)
311313*
312- CALL CLARFT( ' Forward' , ' Columnwise' , NQ- I+1 , IB, A( I, I ),
314+ CALL CLARFT( ' Forward' , ' Columnwise' , NQ- I+1 , IB, A( I,
315+ $ I ),
313316 $ LDA, TAU( I ), WORK( IWT ), LDT )
314317 IF ( LEFT ) THEN
315318*
@@ -327,7 +330,8 @@ SUBROUTINE CUNMQR( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
327330*
328331* Apply H or H**H
329332*
330- CALL CLARFB( SIDE, TRANS, ' Forward' , ' Columnwise' , MI, NI,
333+ CALL CLARFB( SIDE, TRANS, ' Forward' , ' Columnwise' , MI,
334+ $ NI,
331335 $ IB, A( I, I ), LDA, WORK( IWT ), LDT,
332336 $ C( IC, JC ), LDC, WORK, LDWORK )
333337 10 CONTINUE
0 commit comments