212 SUBROUTINE clabrd( M, N, NB, A, LDA, D, E, TAUQ, TAUP, X, LDX, Y,
221 INTEGER lda, ldx, ldy, m, n, nb
225 COMPLEX a( lda, * ), taup( * ), tauq( * ), x( ldx, * ),
233 parameter( zero = ( 0.0e+0, 0.0e+0 ),
234 $ one = ( 1.0e+0, 0.0e+0 ) )
250 IF( m.LE.0 .OR. n.LE.0 )
261 CALL
clacgv( i-1, y( i, 1 ), ldy )
262 CALL
cgemv(
'No transpose', m-i+1, i-1, -one, a( i, 1 ),
263 $ lda, y( i, 1 ), ldy, one, a( i, i ), 1 )
264 CALL
clacgv( i-1, y( i, 1 ), ldy )
265 CALL
cgemv(
'No transpose', m-i+1, i-1, -one, x( i, 1 ),
266 $ ldx, a( 1, i ), 1, one, a( i, i ), 1 )
271 CALL
clarfg( m-i+1, alpha, a( min( i+1, m ), i ), 1,
279 CALL
cgemv(
'Conjugate transpose', m-i+1, n-i, one,
280 $ a( i, i+1 ), lda, a( i, i ), 1, zero,
282 CALL
cgemv(
'Conjugate transpose', m-i+1, i-1, one,
283 $ a( i, 1 ), lda, a( i, i ), 1, zero,
285 CALL
cgemv(
'No transpose', n-i, i-1, -one, y( i+1, 1 ),
286 $ ldy, y( 1, i ), 1, one, y( i+1, i ), 1 )
287 CALL
cgemv(
'Conjugate transpose', m-i+1, i-1, one,
288 $ x( i, 1 ), ldx, a( i, i ), 1, zero,
290 CALL
cgemv(
'Conjugate transpose', i-1, n-i, -one,
291 $ a( 1, i+1 ), lda, y( 1, i ), 1, one,
293 CALL
cscal( n-i, tauq( i ), y( i+1, i ), 1 )
297 CALL
clacgv( n-i, a( i, i+1 ), lda )
298 CALL
clacgv( i, a( i, 1 ), lda )
299 CALL
cgemv(
'No transpose', n-i, i, -one, y( i+1, 1 ),
300 $ ldy, a( i, 1 ), lda, one, a( i, i+1 ), lda )
301 CALL
clacgv( i, a( i, 1 ), lda )
302 CALL
clacgv( i-1, x( i, 1 ), ldx )
303 CALL
cgemv(
'Conjugate transpose', i-1, n-i, -one,
304 $ a( 1, i+1 ), lda, x( i, 1 ), ldx, one,
306 CALL
clacgv( i-1, x( i, 1 ), ldx )
311 CALL
clarfg( n-i, alpha, a( i, min( i+2, n ) ),
318 CALL
cgemv(
'No transpose', m-i, n-i, one, a( i+1, i+1 ),
319 $ lda, a( i, i+1 ), lda, zero, x( i+1, i ), 1 )
320 CALL
cgemv(
'Conjugate transpose', n-i, i, one,
321 $ y( i+1, 1 ), ldy, a( i, i+1 ), lda, zero,
323 CALL
cgemv(
'No transpose', m-i, i, -one, a( i+1, 1 ),
324 $ lda, x( 1, i ), 1, one, x( i+1, i ), 1 )
325 CALL
cgemv(
'No transpose', i-1, n-i, one, a( 1, i+1 ),
326 $ lda, a( i, i+1 ), lda, zero, x( 1, i ), 1 )
327 CALL
cgemv(
'No transpose', m-i, i-1, -one, x( i+1, 1 ),
328 $ ldx, x( 1, i ), 1, one, x( i+1, i ), 1 )
329 CALL
cscal( m-i, taup( i ), x( i+1, i ), 1 )
330 CALL
clacgv( n-i, a( i, i+1 ), lda )
341 CALL
clacgv( n-i+1, a( i, i ), lda )
342 CALL
clacgv( i-1, a( i, 1 ), lda )
343 CALL
cgemv(
'No transpose', n-i+1, i-1, -one, y( i, 1 ),
344 $ ldy, a( i, 1 ), lda, one, a( i, i ), lda )
345 CALL
clacgv( i-1, a( i, 1 ), lda )
346 CALL
clacgv( i-1, x( i, 1 ), ldx )
347 CALL
cgemv(
'Conjugate transpose', i-1, n-i+1, -one,
348 $ a( 1, i ), lda, x( i, 1 ), ldx, one, a( i, i ),
350 CALL
clacgv( i-1, x( i, 1 ), ldx )
355 CALL
clarfg( n-i+1, alpha, a( i, min( i+1, n ) ), lda,
363 CALL
cgemv(
'No transpose', m-i, n-i+1, one, a( i+1, i ),
364 $ lda, a( i, i ), lda, zero, x( i+1, i ), 1 )
365 CALL
cgemv(
'Conjugate transpose', n-i+1, i-1, one,
366 $ y( i, 1 ), ldy, a( i, i ), lda, zero,
368 CALL
cgemv(
'No transpose', m-i, i-1, -one, a( i+1, 1 ),
369 $ lda, x( 1, i ), 1, one, x( i+1, i ), 1 )
370 CALL
cgemv(
'No transpose', i-1, n-i+1, one, a( 1, i ),
371 $ lda, a( i, i ), lda, zero, x( 1, i ), 1 )
372 CALL
cgemv(
'No transpose', m-i, i-1, -one, x( i+1, 1 ),
373 $ ldx, x( 1, i ), 1, one, x( i+1, i ), 1 )
374 CALL
cscal( m-i, taup( i ), x( i+1, i ), 1 )
375 CALL
clacgv( n-i+1, a( i, i ), lda )
379 CALL
clacgv( i-1, y( i, 1 ), ldy )
380 CALL
cgemv(
'No transpose', m-i, i-1, -one, a( i+1, 1 ),
381 $ lda, y( i, 1 ), ldy, one, a( i+1, i ), 1 )
382 CALL
clacgv( i-1, y( i, 1 ), ldy )
383 CALL
cgemv(
'No transpose', m-i, i, -one, x( i+1, 1 ),
384 $ ldx, a( 1, i ), 1, one, a( i+1, i ), 1 )
389 CALL
clarfg( m-i, alpha, a( min( i+2, m ), i ), 1,
396 CALL
cgemv(
'Conjugate transpose', m-i, n-i, one,
397 $ a( i+1, i+1 ), lda, a( i+1, i ), 1, zero,
399 CALL
cgemv(
'Conjugate transpose', m-i, i-1, one,
400 $ a( i+1, 1 ), lda, a( i+1, i ), 1, zero,
402 CALL
cgemv(
'No transpose', n-i, i-1, -one, y( i+1, 1 ),
403 $ ldy, y( 1, i ), 1, one, y( i+1, i ), 1 )
404 CALL
cgemv(
'Conjugate transpose', m-i, i, one,
405 $ x( i+1, 1 ), ldx, a( i+1, i ), 1, zero,
407 CALL
cgemv(
'Conjugate transpose', i, n-i, -one,
408 $ a( 1, i+1 ), lda, y( 1, i ), 1, one,
410 CALL
cscal( n-i, tauq( i ), y( i+1, i ), 1 )
412 CALL
clacgv( n-i+1, a( i, i ), lda )