1 SUBROUTINE dlarfx( SIDE, M, N, V, TAU, C, LDC, WORK )
14 DOUBLE PRECISION C( LDC, * ), V( * ), WORK( * )
68 DOUBLE PRECISION ZERO, ONE
69 parameter( zero = 0.0d+0, one = 1.0d+0 )
73 DOUBLE PRECISION SUM, T1, T10, T2, T3, T4, T5, T6, T7, T8, T9,
74 $ V1, V10, V2, V3, V4, V5, V6, V7, V8, V9
87 IF( lsame( side,
'L' ) )
THEN
91 GO TO ( 10, 30, 50, 70, 90, 110, 130, 150,
98 CALL dgemv(
'Transpose', m, n, one, c, ldc, v, 1, zero, work,
103 CALL dger( m, n, -tau, v, 1, work, 1, c, ldc )
109 t1 = one - tau*v( 1 )*v( 1 )
111 c( 1, j ) = t1*c( 1, j )
123 sum = v1*c( 1, j ) + v2*c( 2, j )
124 c( 1, j ) = c( 1, j ) - sum*t1
125 c( 2, j ) = c( 2, j ) - sum*t2
139 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j )
140 c( 1, j ) = c( 1, j ) - sum*t1
141 c( 2, j ) = c( 2, j ) - sum*t2
142 c( 3, j ) = c( 3, j ) - sum*t3
158 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
160 c( 1, j ) = c( 1, j ) - sum*t1
161 c( 2, j ) = c( 2, j ) - sum*t2
162 c( 3, j ) = c( 3, j ) - sum*t3
163 c( 4, j ) = c( 4, j ) - sum*t4
181 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
182 $ v4*c( 4, j ) + v5*c( 5, j )
183 c( 1, j ) = c( 1, j ) - sum*t1
184 c( 2, j ) = c( 2, j ) - sum*t2
185 c( 3, j ) = c( 3, j ) - sum*t3
186 c( 4, j ) = c( 4, j ) - sum*t4
187 c( 5, j ) = c( 5, j ) - sum*t5
207 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
208 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j )
209 c( 1, j ) = c( 1, j ) - sum*t1
210 c( 2, j ) = c( 2, j ) - sum*t2
211 c( 3, j ) = c( 3, j ) - sum*t3
212 c( 4, j ) = c( 4, j ) - sum*t4
213 c( 5, j ) = c( 5, j ) - sum*t5
214 c( 6, j ) = c( 6, j ) - sum*t6
236 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
237 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j ) +
239 c( 1, j ) = c( 1, j ) - sum*t1
240 c( 2, j ) = c( 2, j ) - sum*t2
241 c( 3, j ) = c( 3, j ) - sum*t3
242 c( 4, j ) = c( 4, j ) - sum*t4
243 c( 5, j ) = c( 5, j ) - sum*t5
244 c( 6, j ) = c( 6, j ) - sum*t6
245 c( 7, j ) = c( 7, j ) - sum*t7
269 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
270 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j ) +
271 $ v7*c( 7, j ) + v8*c( 8, j )
272 c( 1, j ) = c( 1, j ) - sum*t1
273 c( 2, j ) = c( 2, j ) - sum*t2
274 c( 3, j ) = c( 3, j ) - sum*t3
275 c( 4, j ) = c( 4, j ) - sum*t4
276 c( 5, j ) = c( 5, j ) - sum*t5
277 c( 6, j ) = c( 6, j ) - sum*t6
278 c( 7, j ) = c( 7, j ) - sum*t7
279 c( 8, j ) = c( 8, j ) - sum*t8
305 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
306 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j ) +
307 $ v7*c( 7, j ) + v8*c( 8, j ) + v9*c( 9, j )
308 c( 1, j ) = c( 1, j ) - sum*t1
309 c( 2, j ) = c( 2, j ) - sum*t2
310 c( 3, j ) = c( 3, j ) - sum*t3
311 c( 4, j ) = c( 4, j ) - sum*t4
312 c( 5, j ) = c( 5, j ) - sum*t5
313 c( 6, j ) = c( 6, j ) - sum*t6
314 c( 7, j ) = c( 7, j ) - sum*t7
315 c( 8, j ) = c( 8, j ) - sum*t8
316 c( 9, j ) = c( 9, j ) - sum*t9
344 sum = v1*c( 1, j ) + v2*c( 2, j ) + v3*c( 3, j ) +
345 $ v4*c( 4, j ) + v5*c( 5, j ) + v6*c( 6, j ) +
346 $ v7*c( 7, j ) + v8*c( 8, j ) + v9*c( 9, j ) +
348 c( 1, j ) = c( 1, j ) - sum*t1
349 c( 2, j ) = c( 2, j ) - sum*t2
350 c( 3, j ) = c( 3, j ) - sum*t3
351 c( 4, j ) = c( 4, j ) - sum*t4
352 c( 5, j ) = c( 5, j ) - sum*t5
353 c( 6, j ) = c( 6, j ) - sum*t6
354 c( 7, j ) = c( 7, j ) - sum*t7
355 c( 8, j ) = c( 8, j ) - sum*t8
356 c( 9, j ) = c( 9, j ) - sum*t9
357 c( 10, j ) = c( 10, j ) - sum*t10
364 GO TO ( 210, 230, 250, 270, 290, 310, 330, 350,
371 CALL dgemv(
'No transpose', m, n, one, c, ldc, v, 1, zero,
376 CALL dger( m, n, -tau, work, 1, v, 1, c, ldc )
382 t1 = one - tau*v( 1 )*v( 1 )
384 c( j, 1 ) = t1*c( j, 1 )
396 sum = v1*c( j, 1 ) + v2*c( j, 2 )
397 c( j, 1 ) = c( j, 1 ) - sum*t1
398 c( j, 2 ) = c( j, 2 ) - sum*t2
412 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 )
413 c( j, 1 ) = c( j, 1 ) - sum*t1
414 c( j, 2 ) = c( j, 2 ) - sum*t2
415 c( j, 3 ) = c( j, 3 ) - sum*t3
431 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
433 c( j, 1 ) = c( j, 1 ) - sum*t1
434 c( j, 2 ) = c( j, 2 ) - sum*t2
435 c( j, 3 ) = c( j, 3 ) - sum*t3
436 c( j, 4 ) = c( j, 4 ) - sum*t4
454 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
455 $ v4*c( j, 4 ) + v5*c( j, 5 )
456 c( j, 1 ) = c( j, 1 ) - sum*t1
457 c( j, 2 ) = c( j, 2 ) - sum*t2
458 c( j, 3 ) = c( j, 3 ) - sum*t3
459 c( j, 4 ) = c( j, 4 ) - sum*t4
460 c( j, 5 ) = c( j, 5 ) - sum*t5
480 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
481 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 )
482 c( j, 1 ) = c( j, 1 ) - sum*t1
483 c( j, 2 ) = c( j, 2 ) - sum*t2
484 c( j, 3 ) = c( j, 3 ) - sum*t3
485 c( j, 4 ) = c( j, 4 ) - sum*t4
486 c( j, 5 ) = c( j, 5 ) - sum*t5
487 c( j, 6 ) = c( j, 6 ) - sum*t6
509 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
510 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 ) +
512 c( j, 1 ) = c( j, 1 ) - sum*t1
513 c( j, 2 ) = c( j, 2 ) - sum*t2
514 c( j, 3 ) = c( j, 3 ) - sum*t3
515 c( j, 4 ) = c( j, 4 ) - sum*t4
516 c( j, 5 ) = c( j, 5 ) - sum*t5
517 c( j, 6 ) = c( j, 6 ) - sum*t6
518 c( j, 7 ) = c( j, 7 ) - sum*t7
542 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
543 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 ) +
544 $ v7*c( j, 7 ) + v8*c( j, 8 )
545 c( j, 1 ) = c( j, 1 ) - sum*t1
546 c( j, 2 ) = c( j, 2 ) - sum*t2
547 c( j, 3 ) = c( j, 3 ) - sum*t3
548 c( j, 4 ) = c( j, 4 ) - sum*t4
549 c( j, 5 ) = c( j, 5 ) - sum*t5
550 c( j, 6 ) = c( j, 6 ) - sum*t6
551 c( j, 7 ) = c( j, 7 ) - sum*t7
552 c( j, 8 ) = c( j, 8 ) - sum*t8
578 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
579 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 ) +
580 $ v7*c( j, 7 ) + v8*c( j, 8 ) + v9*c( j, 9 )
581 c( j, 1 ) = c( j, 1 ) - sum*t1
582 c( j, 2 ) = c( j, 2 ) - sum*t2
583 c( j, 3 ) = c( j, 3 ) - sum*t3
584 c( j, 4 ) = c( j, 4 ) - sum*t4
585 c( j, 5 ) = c( j, 5 ) - sum*t5
586 c( j, 6 ) = c( j, 6 ) - sum*t6
587 c( j, 7 ) = c( j, 7 ) - sum*t7
588 c( j, 8 ) = c( j, 8 ) - sum*t8
589 c( j, 9 ) = c( j, 9 ) - sum*t9
617 sum = v1*c( j, 1 ) + v2*c( j, 2 ) + v3*c( j, 3 ) +
618 $ v4*c( j, 4 ) + v5*c( j, 5 ) + v6*c( j, 6 ) +
619 $ v7*c( j, 7 ) + v8*c( j, 8 ) + v9*c( j, 9 ) +
621 c( j, 1 ) = c( j, 1 ) - sum*t1
622 c( j, 2 ) = c( j, 2 ) - sum*t2
623 c( j, 3 ) = c( j, 3 ) - sum*t3
624 c( j, 4 ) = c( j, 4 ) - sum*t4
625 c( j, 5 ) = c( j, 5 ) - sum*t5
626 c( j, 6 ) = c( j, 6 ) - sum*t6
627 c( j, 7 ) = c( j, 7 ) - sum*t7
628 c( j, 8 ) = c( j, 8 ) - sum*t8
629 c( j, 9 ) = c( j, 9 ) - sum*t9
630 c( j, 10 ) = c( j, 10 ) - sum*t10
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
subroutine dger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
subroutine dlarfx(SIDE, M, N, V, TAU, C, LDC, WORK)