120 SUBROUTINE clarfx( SIDE, M, N, V, TAU, C, LDC, WORK )
133 COMPLEX C( ldc, * ), V( * ), WORK( * )
140 parameter ( zero = ( 0.0e+0, 0.0e+0 ),
141 $ one = ( 1.0e+0, 0.0e+0 ) )
145 COMPLEX SUM, T1, T10, T2, T3, T4, T5, T6, T7, T8, T9,
146 $ v1, v10, v2, v3, v4, v5, v6, v7, v8, v9
162 IF( lsame( side,
'L' ) )
THEN
166 GO TO ( 10, 30, 50, 70, 90, 110, 130, 150,
171 CALL clarf( side, m, n, v, 1, tau, c, ldc, work )
177 t1 = one - tau*v( 1 )*conjg( v( 1 ) )
179 c( 1, j ) = t1*c( 1, j )
191 sum = v1*c( 1, j ) + v2*c( 2, j )
192 c( 1, j ) = c( 1, j ) - sum*t1
193 c( 2, j ) = c( 2, j ) - sum*t2
207 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j )
208 c( 1, j ) = c( 1, j ) - sum*t1
209 c( 2, j ) = c( 2, j ) - sum*t2
210 c( 3, j ) = c( 3, j ) - sum*t3
226 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
228 c( 1, j ) = c( 1, j ) - sum*t1
229 c( 2, j ) = c( 2, j ) - sum*t2
230 c( 3, j ) = c( 3, j ) - sum*t3
231 c( 4, j ) = c( 4, j ) - sum*t4
249 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
250 $ v4*c( 4, j ) + v5*c( 5, j )
251 c( 1, j ) = c( 1, j ) - sum*t1
252 c( 2, j ) = c( 2, j ) - sum*t2
253 c( 3, j ) = c( 3, j ) - sum*t3
254 c( 4, j ) = c( 4, j ) - sum*t4
255 c( 5, j ) = c( 5, j ) - sum*t5
275 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
276 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j )
277 c( 1, j ) = c( 1, j ) - sum*t1
278 c( 2, j ) = c( 2, j ) - sum*t2
279 c( 3, j ) = c( 3, j ) - sum*t3
280 c( 4, j ) = c( 4, j ) - sum*t4
281 c( 5, j ) = c( 5, j ) - sum*t5
282 c( 6, j ) = c( 6, j ) - sum*t6
304 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
305 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j ) +
307 c( 1, j ) = c( 1, j ) - sum*t1
308 c( 2, j ) = c( 2, j ) - sum*t2
309 c( 3, j ) = c( 3, j ) - sum*t3
310 c( 4, j ) = c( 4, j ) - sum*t4
311 c( 5, j ) = c( 5, j ) - sum*t5
312 c( 6, j ) = c( 6, j ) - sum*t6
313 c( 7, j ) = c( 7, j ) - sum*t7
337 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
338 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j ) +
339 $ v7*c( 7, j ) + v8*c( 8, j )
340 c( 1, j ) = c( 1, j ) - sum*t1
341 c( 2, j ) = c( 2, j ) - sum*t2
342 c( 3, j ) = c( 3, j ) - sum*t3
343 c( 4, j ) = c( 4, j ) - sum*t4
344 c( 5, j ) = c( 5, j ) - sum*t5
345 c( 6, j ) = c( 6, j ) - sum*t6
346 c( 7, j ) = c( 7, j ) - sum*t7
347 c( 8, j ) = c( 8, j ) - sum*t8
373 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
374 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j ) +
375 $ v7*c( 7, j ) + v8*c( 8, j ) + v9*c( 9, j )
376 c( 1, j ) = c( 1, j ) - sum*t1
377 c( 2, j ) = c( 2, j ) - sum*t2
378 c( 3, j ) = c( 3, j ) - sum*t3
379 c( 4, j ) = c( 4, j ) - sum*t4
380 c( 5, j ) = c( 5, j ) - sum*t5
381 c( 6, j ) = c( 6, j ) - sum*t6
382 c( 7, j ) = c( 7, j ) - sum*t7
383 c( 8, j ) = c( 8, j ) - sum*t8
384 c( 9, j ) = c( 9, j ) - sum*t9
409 v10 = conjg( v( 10 ) )
410 t10 = tau*conjg( v10 )
412 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
413 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j ) +
414 $ v7*c( 7, j ) + v8*c( 8, j ) + v9*c( 9, j ) +
416 c( 1, j ) = c( 1, j ) - sum*t1
417 c( 2, j ) = c( 2, j ) - sum*t2
418 c( 3, j ) = c( 3, j ) - sum*t3
419 c( 4, j ) = c( 4, j ) - sum*t4
420 c( 5, j ) = c( 5, j ) - sum*t5
421 c( 6, j ) = c( 6, j ) - sum*t6
422 c( 7, j ) = c( 7, j ) - sum*t7
423 c( 8, j ) = c( 8, j ) - sum*t8
424 c( 9, j ) = c( 9, j ) - sum*t9
425 c( 10, j ) = c( 10, j ) - sum*t10
432 GO TO ( 210, 230, 250, 270, 290, 310, 330, 350,
437 CALL clarf( side, m, n, v, 1, tau, c, ldc, work )
443 t1 = one - tau*v( 1 )*conjg( v( 1 ) )
445 c( j, 1 ) = t1*c( j, 1 )
457 sum = v1*c( j, 1 ) + v2*c( j, 2 )
458 c( j, 1 ) = c( j, 1 ) - sum*t1
459 c( j, 2 ) = c( j, 2 ) - sum*t2
473 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 )
474 c( j, 1 ) = c( j, 1 ) - sum*t1
475 c( j, 2 ) = c( j, 2 ) - sum*t2
476 c( j, 3 ) = c( j, 3 ) - sum*t3
492 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
494 c( j, 1 ) = c( j, 1 ) - sum*t1
495 c( j, 2 ) = c( j, 2 ) - sum*t2
496 c( j, 3 ) = c( j, 3 ) - sum*t3
497 c( j, 4 ) = c( j, 4 ) - sum*t4
515 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
516 $ v4*c( j, 4 ) + v5*c( j, 5 )
517 c( j, 1 ) = c( j, 1 ) - sum*t1
518 c( j, 2 ) = c( j, 2 ) - sum*t2
519 c( j, 3 ) = c( j, 3 ) - sum*t3
520 c( j, 4 ) = c( j, 4 ) - sum*t4
521 c( j, 5 ) = c( j, 5 ) - sum*t5
541 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
542 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 )
543 c( j, 1 ) = c( j, 1 ) - sum*t1
544 c( j, 2 ) = c( j, 2 ) - sum*t2
545 c( j, 3 ) = c( j, 3 ) - sum*t3
546 c( j, 4 ) = c( j, 4 ) - sum*t4
547 c( j, 5 ) = c( j, 5 ) - sum*t5
548 c( j, 6 ) = c( j, 6 ) - sum*t6
570 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
571 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 ) +
573 c( j, 1 ) = c( j, 1 ) - sum*t1
574 c( j, 2 ) = c( j, 2 ) - sum*t2
575 c( j, 3 ) = c( j, 3 ) - sum*t3
576 c( j, 4 ) = c( j, 4 ) - sum*t4
577 c( j, 5 ) = c( j, 5 ) - sum*t5
578 c( j, 6 ) = c( j, 6 ) - sum*t6
579 c( j, 7 ) = c( j, 7 ) - sum*t7
603 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
604 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 ) +
605 $ v7*c( j, 7 ) + v8*c( j, 8 )
606 c( j, 1 ) = c( j, 1 ) - sum*t1
607 c( j, 2 ) = c( j, 2 ) - sum*t2
608 c( j, 3 ) = c( j, 3 ) - sum*t3
609 c( j, 4 ) = c( j, 4 ) - sum*t4
610 c( j, 5 ) = c( j, 5 ) - sum*t5
611 c( j, 6 ) = c( j, 6 ) - sum*t6
612 c( j, 7 ) = c( j, 7 ) - sum*t7
613 c( j, 8 ) = c( j, 8 ) - sum*t8
639 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
640 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 ) +
641 $ v7*c( j, 7 ) + v8*c( j, 8 ) + v9*c( j, 9 )
642 c( j, 1 ) = c( j, 1 ) - sum*t1
643 c( j, 2 ) = c( j, 2 ) - sum*t2
644 c( j, 3 ) = c( j, 3 ) - sum*t3
645 c( j, 4 ) = c( j, 4 ) - sum*t4
646 c( j, 5 ) = c( j, 5 ) - sum*t5
647 c( j, 6 ) = c( j, 6 ) - sum*t6
648 c( j, 7 ) = c( j, 7 ) - sum*t7
649 c( j, 8 ) = c( j, 8 ) - sum*t8
650 c( j, 9 ) = c( j, 9 ) - sum*t9
676 t10 = tau*conjg( v10 )
678 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
679 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 ) +
680 $ v7*c( j, 7 ) + v8*c( j, 8 ) + v9*c( j, 9 ) +
682 c( j, 1 ) = c( j, 1 ) - sum*t1
683 c( j, 2 ) = c( j, 2 ) - sum*t2
684 c( j, 3 ) = c( j, 3 ) - sum*t3
685 c( j, 4 ) = c( j, 4 ) - sum*t4
686 c( j, 5 ) = c( j, 5 ) - sum*t5
687 c( j, 6 ) = c( j, 6 ) - sum*t6
688 c( j, 7 ) = c( j, 7 ) - sum*t7
689 c( j, 8 ) = c( j, 8 ) - sum*t8
690 c( j, 9 ) = c( j, 9 ) - sum*t9
691 c( j, 10 ) = c( j, 10 ) - sum*t10
subroutine clarfx(SIDE, M, N, V, TAU, C, LDC, WORK)
CLARFX applies an elementary reflector to a general rectangular matrix, with loop unrolling when the ...
subroutine clarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
CLARF applies an elementary reflector to a general rectangular matrix.