55* Online html documentation available at
66* http://www.netlib.org/lapack/explore-html/
77*
8- * > \htmlonly
98* > Download CGEBD2 + dependencies
109* > <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/cgebd2.f">
1110* > [TGZ]</a>
1211* > <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/cgebd2.f">
1312* > [ZIP]</a>
1413* > <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgebd2.f">
1514* > [TXT]</a>
16- * > \endhtmlonly
1715*
1816* Definition:
1917* ===========
132130* > \author Univ. of Colorado Denver
133131* > \author NAG Ltd.
134132*
135- * > \ingroup complexGEcomputational
133+ * > \ingroup gebd2
136134* @precisions normal c -> s d z
137135*
138136* > \par Further Details:
187185* >
188186* =====================================================================
189187 SUBROUTINE CGEBD2 ( M , N , A , LDA , D , E , TAUQ , TAUP , WORK , INFO )
188+ IMPLICIT NONE
190189*
191190* -- LAPACK computational routine --
192191* -- LAPACK is a software package provided by Univ. of Tennessee, --
@@ -203,16 +202,15 @@ SUBROUTINE CGEBD2( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, INFO )
203202* =====================================================================
204203*
205204* .. Parameters ..
206- COMPLEX ZERO, ONE
207- PARAMETER ( ZERO = ( 0.0E+0 , 0.0E+0 ),
208- $ ONE = ( 1.0E+0 , 0.0E+0 ) )
205+ COMPLEX ZERO
206+ PARAMETER ( ZERO = ( 0.0E+0 , 0.0E+0 ) )
209207* ..
210208* .. Local Scalars ..
211209 INTEGER I
212210 COMPLEX ALPHA
213211* ..
214212* .. External Subroutines ..
215- EXTERNAL CLACGV, CLARF , CLARFG, XERBLA
213+ EXTERNAL CLACGV, CLARF1F , CLARFG, XERBLA
216214* ..
217215* .. Intrinsic Functions ..
218216 INTRINSIC CONJG, MAX, MIN
@@ -246,13 +244,13 @@ SUBROUTINE CGEBD2( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, INFO )
246244 CALL CLARFG( M- I+1 , ALPHA, A( MIN ( I+1 , M ), I ), 1 ,
247245 $ TAUQ( I ) )
248246 D( I ) = REAL ( ALPHA )
249- A( I, I ) = ONE
250247*
251248* Apply H(i)**H to A(i:m,i+1:n) from the left
252249*
253250 IF ( I.LT. N )
254- $ CALL CLARF( ' Left' , M- I+1 , N- I, A( I, I ), 1 ,
255- $ CONJG ( TAUQ( I ) ), A( I, I+1 ), LDA, WORK )
251+ $ CALL CLARF1F( ' Left' , M- I+1 , N- I, A( I, I ), 1 ,
252+ $ CONJG ( TAUQ( I ) ), A( I, I+1 ), LDA,
253+ $ WORK )
256254 A( I, I ) = D( I )
257255*
258256 IF ( I.LT. N ) THEN
@@ -265,12 +263,11 @@ SUBROUTINE CGEBD2( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, INFO )
265263 CALL CLARFG( N- I, ALPHA, A( I, MIN ( I+2 , N ) ),
266264 $ LDA, TAUP( I ) )
267265 E( I ) = REAL ( ALPHA )
268- A( I, I+1 ) = ONE
269266*
270267* Apply G(i) to A(i+1:m,i+1:n) from the right
271268*
272- CALL CLARF ( ' Right' , M- I, N- I, A( I, I+1 ), LDA,
273- $ TAUP( I ), A( I+1 , I+1 ), LDA, WORK )
269+ CALL CLARF1F ( ' Right' , M- I, N- I, A( I, I+1 ), LDA,
270+ $ TAUP( I ), A( I+1 , I+1 ), LDA, WORK )
274271 CALL CLACGV( N- I, A( I, I+1 ), LDA )
275272 A( I, I+1 ) = E( I )
276273 ELSE
@@ -290,13 +287,12 @@ SUBROUTINE CGEBD2( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, INFO )
290287 CALL CLARFG( N- I+1 , ALPHA, A( I, MIN ( I+1 , N ) ), LDA,
291288 $ TAUP( I ) )
292289 D( I ) = REAL ( ALPHA )
293- A( I, I ) = ONE
294290*
295291* Apply G(i) to A(i+1:m,i:n) from the right
296292*
297293 IF ( I.LT. M )
298- $ CALL CLARF ( ' Right' , M- I, N- I+1 , A( I, I ), LDA,
299- $ TAUP( I ), A( I+1 , I ), LDA, WORK )
294+ $ CALL CLARF1F ( ' Right' , M- I, N- I+1 , A( I, I ), LDA,
295+ $ TAUP( I ), A( I+1 , I ), LDA, WORK )
300296 CALL CLACGV( N- I+1 , A( I, I ), LDA )
301297 A( I, I ) = D( I )
302298*
@@ -309,13 +305,12 @@ SUBROUTINE CGEBD2( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, INFO )
309305 CALL CLARFG( M- I, ALPHA, A( MIN ( I+2 , M ), I ), 1 ,
310306 $ TAUQ( I ) )
311307 E( I ) = REAL ( ALPHA )
312- A( I+1 , I ) = ONE
313308*
314309* Apply H(i)**H to A(i+1:m,i+1:n) from the left
315310*
316- CALL CLARF ( ' Left' , M- I, N- I, A( I+1 , I ), 1 ,
317- $ CONJG ( TAUQ( I ) ), A( I+1 , I+1 ), LDA,
318- $ WORK )
311+ CALL CLARF1F ( ' Left' , M- I, N- I, A( I+1 , I ), 1 ,
312+ $ CONJG ( TAUQ( I ) ), A( I+1 , I+1 ), LDA,
313+ $ WORK )
319314 A( I+1 , I ) = E( I )
320315 ELSE
321316 TAUQ( I ) = ZERO
0 commit comments