133 COMPLEX*16 c( ldc, * ), v( * ), work( * )
140 parameter ( zero = ( 0.0d+0, 0.0d+0 ),
141 $ one = ( 1.0d+0, 0.0d+0 ) )
145 COMPLEX*16 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 zlarf( side, m, n, v, 1, tau, c, ldc, work )
177 t1 = one - tau*v( 1 )*dconjg( v( 1 ) )
179 c( 1, j ) = t1*c( 1, j )
186 v1 = dconjg( v( 1 ) )
187 t1 = tau*dconjg( v1 )
188 v2 = dconjg( v( 2 ) )
189 t2 = tau*dconjg( v2 )
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
200 v1 = dconjg( v( 1 ) )
201 t1 = tau*dconjg( v1 )
202 v2 = dconjg( v( 2 ) )
203 t2 = tau*dconjg( v2 )
204 v3 = dconjg( v( 3 ) )
205 t3 = tau*dconjg( v3 )
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
217 v1 = dconjg( v( 1 ) )
218 t1 = tau*dconjg( v1 )
219 v2 = dconjg( v( 2 ) )
220 t2 = tau*dconjg( v2 )
221 v3 = dconjg( v( 3 ) )
222 t3 = tau*dconjg( v3 )
223 v4 = dconjg( v( 4 ) )
224 t4 = tau*dconjg( v4 )
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
238 v1 = dconjg( v( 1 ) )
239 t1 = tau*dconjg( v1 )
240 v2 = dconjg( v( 2 ) )
241 t2 = tau*dconjg( v2 )
242 v3 = dconjg( v( 3 ) )
243 t3 = tau*dconjg( v3 )
244 v4 = dconjg( v( 4 ) )
245 t4 = tau*dconjg( v4 )
246 v5 = dconjg( v( 5 ) )
247 t5 = tau*dconjg( v5 )
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
262 v1 = dconjg( v( 1 ) )
263 t1 = tau*dconjg( v1 )
264 v2 = dconjg( v( 2 ) )
265 t2 = tau*dconjg( v2 )
266 v3 = dconjg( v( 3 ) )
267 t3 = tau*dconjg( v3 )
268 v4 = dconjg( v( 4 ) )
269 t4 = tau*dconjg( v4 )
270 v5 = dconjg( v( 5 ) )
271 t5 = tau*dconjg( v5 )
272 v6 = dconjg( v( 6 ) )
273 t6 = tau*dconjg( v6 )
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
289 v1 = dconjg( v( 1 ) )
290 t1 = tau*dconjg( v1 )
291 v2 = dconjg( v( 2 ) )
292 t2 = tau*dconjg( v2 )
293 v3 = dconjg( v( 3 ) )
294 t3 = tau*dconjg( v3 )
295 v4 = dconjg( v( 4 ) )
296 t4 = tau*dconjg( v4 )
297 v5 = dconjg( v( 5 ) )
298 t5 = tau*dconjg( v5 )
299 v6 = dconjg( v( 6 ) )
300 t6 = tau*dconjg( v6 )
301 v7 = dconjg( v( 7 ) )
302 t7 = tau*dconjg( v7 )
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
320 v1 = dconjg( v( 1 ) )
321 t1 = tau*dconjg( v1 )
322 v2 = dconjg( v( 2 ) )
323 t2 = tau*dconjg( v2 )
324 v3 = dconjg( v( 3 ) )
325 t3 = tau*dconjg( v3 )
326 v4 = dconjg( v( 4 ) )
327 t4 = tau*dconjg( v4 )
328 v5 = dconjg( v( 5 ) )
329 t5 = tau*dconjg( v5 )
330 v6 = dconjg( v( 6 ) )
331 t6 = tau*dconjg( v6 )
332 v7 = dconjg( v( 7 ) )
333 t7 = tau*dconjg( v7 )
334 v8 = dconjg( v( 8 ) )
335 t8 = tau*dconjg( v8 )
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
354 v1 = dconjg( v( 1 ) )
355 t1 = tau*dconjg( v1 )
356 v2 = dconjg( v( 2 ) )
357 t2 = tau*dconjg( v2 )
358 v3 = dconjg( v( 3 ) )
359 t3 = tau*dconjg( v3 )
360 v4 = dconjg( v( 4 ) )
361 t4 = tau*dconjg( v4 )
362 v5 = dconjg( v( 5 ) )
363 t5 = tau*dconjg( v5 )
364 v6 = dconjg( v( 6 ) )
365 t6 = tau*dconjg( v6 )
366 v7 = dconjg( v( 7 ) )
367 t7 = tau*dconjg( v7 )
368 v8 = dconjg( v( 8 ) )
369 t8 = tau*dconjg( v8 )
370 v9 = dconjg( v( 9 ) )
371 t9 = tau*dconjg( v9 )
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
391 v1 = dconjg( v( 1 ) )
392 t1 = tau*dconjg( v1 )
393 v2 = dconjg( v( 2 ) )
394 t2 = tau*dconjg( v2 )
395 v3 = dconjg( v( 3 ) )
396 t3 = tau*dconjg( v3 )
397 v4 = dconjg( v( 4 ) )
398 t4 = tau*dconjg( v4 )
399 v5 = dconjg( v( 5 ) )
400 t5 = tau*dconjg( v5 )
401 v6 = dconjg( v( 6 ) )
402 t6 = tau*dconjg( v6 )
403 v7 = dconjg( v( 7 ) )
404 t7 = tau*dconjg( v7 )
405 v8 = dconjg( v( 8 ) )
406 t8 = tau*dconjg( v8 )
407 v9 = dconjg( v( 9 ) )
408 t9 = tau*dconjg( v9 )
409 v10 = dconjg( v( 10 ) )
410 t10 = tau*dconjg( 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 zlarf( side, m, n, v, 1, tau, c, ldc, work )
443 t1 = one - tau*v( 1 )*dconjg( v( 1 ) )
445 c( j, 1 ) = t1*c( j, 1 )
453 t1 = tau*dconjg( v1 )
455 t2 = tau*dconjg( v2 )
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
467 t1 = tau*dconjg( v1 )
469 t2 = tau*dconjg( v2 )
471 t3 = tau*dconjg( v3 )
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
484 t1 = tau*dconjg( v1 )
486 t2 = tau*dconjg( v2 )
488 t3 = tau*dconjg( v3 )
490 t4 = tau*dconjg( v4 )
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
505 t1 = tau*dconjg( v1 )
507 t2 = tau*dconjg( v2 )
509 t3 = tau*dconjg( v3 )
511 t4 = tau*dconjg( v4 )
513 t5 = tau*dconjg( v5 )
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
529 t1 = tau*dconjg( v1 )
531 t2 = tau*dconjg( v2 )
533 t3 = tau*dconjg( v3 )
535 t4 = tau*dconjg( v4 )
537 t5 = tau*dconjg( v5 )
539 t6 = tau*dconjg( v6 )
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
556 t1 = tau*dconjg( v1 )
558 t2 = tau*dconjg( v2 )
560 t3 = tau*dconjg( v3 )
562 t4 = tau*dconjg( v4 )
564 t5 = tau*dconjg( v5 )
566 t6 = tau*dconjg( v6 )
568 t7 = tau*dconjg( v7 )
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
587 t1 = tau*dconjg( v1 )
589 t2 = tau*dconjg( v2 )
591 t3 = tau*dconjg( v3 )
593 t4 = tau*dconjg( v4 )
595 t5 = tau*dconjg( v5 )
597 t6 = tau*dconjg( v6 )
599 t7 = tau*dconjg( v7 )
601 t8 = tau*dconjg( v8 )
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
621 t1 = tau*dconjg( v1 )
623 t2 = tau*dconjg( v2 )
625 t3 = tau*dconjg( v3 )
627 t4 = tau*dconjg( v4 )
629 t5 = tau*dconjg( v5 )
631 t6 = tau*dconjg( v6 )
633 t7 = tau*dconjg( v7 )
635 t8 = tau*dconjg( v8 )
637 t9 = tau*dconjg( v9 )
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
658 t1 = tau*dconjg( v1 )
660 t2 = tau*dconjg( v2 )
662 t3 = tau*dconjg( v3 )
664 t4 = tau*dconjg( v4 )
666 t5 = tau*dconjg( v5 )
668 t6 = tau*dconjg( v6 )
670 t7 = tau*dconjg( v7 )
672 t8 = tau*dconjg( v8 )
674 t9 = tau*dconjg( v9 )
676 t10 = tau*dconjg( 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 zlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
ZLARF applies an elementary reflector to a general rectangular matrix.
logical function lsame(CA, CB)
LSAME