1ZLAQR5(1)           LAPACK auxiliary routine (version 3.1)           ZLAQR5(1)
2
3
4

NAME

SYNOPSIS

7       SUBROUTINE ZLAQR5( WANTT,  WANTZ,  KACC22, N, KTOP, KBOT, NSHFTS, S, H,
8                          LDH, ILOZ, IHIZ, Z, LDZ, V, LDV,  U,  LDU,  NV,  WV,
9                          LDWV, NH, WH, LDWH )
10
11           INTEGER        IHIZ, ILOZ, KACC22, KBOT, KTOP, LDH, LDU, LDV, LDWH,
12                          LDWV, LDZ, N, NH, NSHFTS, NV
13
14           LOGICAL        WANTT, WANTZ
15
16           COMPLEX*16     H( LDH, * ), S( * ), U( LDU, * ), V( LDV, *  ),  WH(
17                          LDWH, * ), WV( LDWV, * ), Z( LDZ, * )
18
19           COMPLEX*16     ZERO, ONE
20
21           PARAMETER      ( ZERO = ( 0.0d0, 0.0d0 ), ONE = ( 1.0d0, 0.0d0 ) )
22
23           DOUBLE         PRECISION RZERO, RONE
24
25           PARAMETER      ( RZERO = 0.0d0, RONE = 1.0d0 )
26
27           COMPLEX*16     ALPHA, BETA, CDUM, REFSUM
28
29           DOUBLE         PRECISION  H11,  H12, H21, H22, SAFMAX, SAFMIN, SCL,
30                          SMLNUM, TST1, TST2, ULP
31
32           INTEGER        I2, I4, INCOL, J, J2, J4, JBOT,  JCOL,  JLEN,  JROW,
33                          JTOP,  K,  K1,  KDU,  KMS,  KNZ, KRCOL, KZS, M, M22,
34                          MBOT, MEND, MSTART, MTOP, NBMPS, NDCOL, NS, NU
35
36           LOGICAL        ACCUM, BLK22, BMP22
37
38           DOUBLE         PRECISION DLAMCH
39
40           EXTERNAL       DLAMCH
41
42           INTRINSIC      ABS, DBLE, DCONJG, DIMAG, MAX, MIN, MOD
43
44           COMPLEX*16     VT( 3 )
45
46           EXTERNAL       DLABAD, ZGEMM, ZLACPY, ZLAQR1, ZLARFG, ZLASET, ZTRMM
47
48           DOUBLE         PRECISION CABS1
49
50           CABS1(         CDUM ) = ABS( DBLE( CDUM ) ) + ABS( DIMAG( CDUM ) )
51
52           IF(            NSHFTS.LT.2 ) RETURN
53
54           IF(            KTOP.GE.KBOT ) RETURN
55
56           NS             = NSHFTS - MOD( NSHFTS, 2 )
57
58           SAFMIN         = DLAMCH( 'SAFE MINIMUM' )
59
60           SAFMAX         = RONE / SAFMIN
61
62           CALL           DLABAD( SAFMIN, SAFMAX )
63
64           ULP            = DLAMCH( 'PRECISION' )
65
66           SMLNUM         = SAFMIN*( DBLE( N ) / ULP )
67
68           ACCUM          = ( KACC22.EQ.1 ) .OR. ( KACC22.EQ.2 )
69
70           BLK22          = ( NS.GT.2 ) .AND. ( KACC22.EQ.2 )
71
72           IF(            KTOP+2.LE.KBOT ) H( KTOP+2, KTOP ) = ZERO
73
74           NBMPS          = NS / 2
75
76           KDU            = 6*NBMPS - 3
77
78           DO             210 INCOL = 3*( 1-NBMPS ) + KTOP  -  1,  KBOT  -  2,
79                          3*NBMPS - 2
80
81           NDCOL          = INCOL + KDU
82
83           IF(            ACCUM  ) CALL ZLASET( 'ALL', KDU, KDU, ZERO, ONE, U,
84                          LDU )
85
86           DO             140 KRCOL = INCOL, MIN( INCOL+3*NBMPS-3, KBOT-2 )
87
88           MTOP           = MAX( 1, ( ( KTOP-1 )-KRCOL+2 ) / 3+1 )
89
90           MBOT           = MIN( NBMPS, ( KBOT-KRCOL ) / 3 )
91
92           M22            = MBOT + 1
93
94           BMP22          = ( MBOT.LT.NBMPS ) .AND. ( KRCOL+3*( M22-1 )  ).EQ.
95                          ( KBOT-2 )
96
97           DO             10 M = MTOP, MBOT
98
99           K              = KRCOL + 3*( M-1 )
100
101           IF(            K.EQ.KTOP-1 ) THEN
102
103           CALL           ZLAQR1(  3, H( KTOP, KTOP ), LDH, S( 2*M-1 ), S( 2*M
104                          ), V( 1, M ) )
105
106           ALPHA          = V( 1, M )
107
108           CALL           ZLARFG( 3, ALPHA, V( 2, M ), 1, V( 1, M ) )
109
110           ELSE
111
112           BETA           = H( K+1, K )
113
114           V(             2, M ) = H( K+2, K )
115
116           V(             3, M ) = H( K+3, K )
117
118           CALL           ZLARFG( 3, BETA, V( 2, M ), 1, V( 1, M ) )
119
120           IF(            V( 1, M ).NE.ZERO .AND.  ( V( 3, M ).NE.ZERO .OR.  (
121                          H(  K+3, K+1 ).EQ.ZERO .AND. H( K+3, K+2 ).EQ.ZERO )
122                          ) ) THEN
123
124           H(             K+1, K ) = BETA
125
126           H(             K+2, K ) = ZERO
127
128           H(             K+3, K ) = ZERO
129
130           ELSE
131
132           CALL           ZLAQR1( 3, H( K+1, K+1 ), LDH, S( 2*M-1 ), S( 2*M ),
133                          VT )
134
135           SCL            = CABS1( VT( 1 ) ) + CABS1( VT( 2 ) ) + CABS1( VT( 3
136                          ) )
137
138           IF(            SCL.NE.RZERO ) THEN
139
140           VT(            1 ) = VT( 1 ) / SCL
141
142           VT(            2 ) = VT( 2 ) / SCL
143
144           VT(            3 ) = VT( 3 ) / SCL
145
146           END            IF
147
148           IF(            CABS1( H( K+1, K ) )* ( CABS1( VT( 2 ) )+CABS1(  VT(
149                          3  ) ) ).GT.ULP* CABS1( VT( 1 ) )*( CABS1( H( K, K )
150                          )+CABS1( H( K+1, K+1 ) )+CABS1( H( K+2, K+2 ) ) )  )
151                          THEN
152
153           IF(            V( 2, M ).EQ.ZERO .AND. V( 3, M ).EQ.ZERO ) THEN
154
155           V(             1, M ) = ZERO
156
157           ELSE
158
159           H(             K+1, K ) = BETA
160
161           H(             K+2, K ) = ZERO
162
163           H(             K+3, K ) = ZERO
164
165           END            IF
166
167           ELSE
168
169           ALPHA          = VT( 1 )
170
171           CALL           ZLARFG( 3, ALPHA, VT( 2 ), 1, VT( 1 ) )
172
173           REFSUM         =  H(  K+1, K ) + H( K+2, K )*DCONJG( VT( 2 ) ) + H(
174                          K+3, K )*DCONJG( VT( 3 ) )
175
176           H(             K+1, K ) = H( K+1, K ) - DCONJG( VT( 1 ) )*REFSUM
177
178           H(             K+2, K ) = ZERO
179
180           H(             K+3, K ) = ZERO
181
182           V(             1, M ) = VT( 1 )
183
184           V(             2, M ) = VT( 2 )
185
186           V(             3, M ) = VT( 3 )
187
188           END            IF
189
190           END            IF
191
192           END            IF
193
194           10             CONTINUE
195
196           K              = KRCOL + 3*( M22-1 )
197
198           IF(            BMP22 ) THEN
199
200           IF(            K.EQ.KTOP-1 ) THEN
201
202           CALL           ZLAQR1( 2, H( K+1, K+1 ),  LDH,  S(  2*M22-1  ),  S(
203                          2*M22 ), V( 1, M22 ) )
204
205           BETA           = V( 1, M22 )
206
207           CALL           ZLARFG( 2, BETA, V( 2, M22 ), 1, V( 1, M22 ) )
208
209           ELSE
210
211           BETA           = H( K+1, K )
212
213           V(             2, M22 ) = H( K+2, K )
214
215           CALL           ZLARFG( 2, BETA, V( 2, M22 ), 1, V( 1, M22 ) )
216
217           H(             K+1, K ) = BETA
218
219           H(             K+2, K ) = ZERO
220
221           END            IF
222
223           ELSE
224
225           V(             1, M22 ) = ZERO
226
227           END            IF
228
229           IF(            ACCUM ) THEN
230
231           JBOT           = MIN( NDCOL, KBOT )
232
233           ELSE           IF( WANTT ) THEN
234
235           JBOT           = N
236
237           ELSE
238
239           JBOT           = KBOT
240
241           END            IF
242
243           DO             30 J = MAX( KTOP, KRCOL ), JBOT
244
245           MEND           = MIN( MBOT, ( J-KRCOL+2 ) / 3 )
246
247           DO             20 M = MTOP, MEND
248
249           K              = KRCOL + 3*( M-1 )
250
251           REFSUM         = DCONJG( V( 1, M ) )* ( H( K+1, J )+DCONJG( V( 2, M
252                          ) )* H( K+2, J )+DCONJG( V( 3, M ) )*H( K+3, J ) )
253
254           H(             K+1, J ) = H( K+1, J ) - REFSUM
255
256           H(             K+2, J ) = H( K+2, J ) - REFSUM*V( 2, M )
257
258           H(             K+3, J ) = H( K+3, J ) - REFSUM*V( 3, M )
259
260           20             CONTINUE
261
262           30             CONTINUE
263
264           IF(            BMP22 ) THEN
265
266           K              = KRCOL + 3*( M22-1 )
267
268           DO             40 J = MAX( K+1, KTOP ), JBOT
269
270           REFSUM         = DCONJG( V( 1, M22 ) )* ( H( K+1, J )+DCONJG( V( 2,
271                          M22 ) )* H( K+2, J ) )
272
273           H(             K+1, J ) = H( K+1, J ) - REFSUM
274
275           H(             K+2, J ) = H( K+2, J ) - REFSUM*V( 2, M22 )
276
277           40             CONTINUE
278
279           END            IF
280
281           IF(            ACCUM ) THEN
282
283           JTOP           = MAX( KTOP, INCOL )
284
285           ELSE           IF( WANTT ) THEN
286
287           JTOP           = 1
288
289           ELSE
290
291           JTOP           = KTOP
292
293           END            IF
294
295           DO             80 M = MTOP, MBOT
296
297           IF(            V( 1, M ).NE.ZERO ) THEN
298
299           K              = KRCOL + 3*( M-1 )
300
301           DO             50 J = JTOP, MIN( KBOT, K+3 )
302
303           REFSUM         =  V( 1, M )*( H( J, K+1 )+V( 2, M )* H( J, K+2 )+V(
304                          3, M )*H( J, K+3 ) )
305
306           H(             J, K+1 ) = H( J, K+1 ) - REFSUM
307
308           H(             J, K+2 ) = H( J, K+2 ) - REFSUM*DCONJG( V( 2, M ) )
309
310           H(             J, K+3 ) = H( J, K+3 ) - REFSUM*DCONJG( V( 3, M ) )
311
312           50             CONTINUE
313
314           IF(            ACCUM ) THEN
315
316           KMS            = K - INCOL
317
318           DO             60 J = MAX( 1, KTOP-INCOL ), KDU
319
320           REFSUM         = V( 1, M )*( U( J, KMS+1 )+V( 2, M )* U(  J,  KMS+2
321                          )+V( 3, M )*U( J, KMS+3 ) )
322
323           U(             J, KMS+1 ) = U( J, KMS+1 ) - REFSUM
324
325           U(             J,  KMS+2 ) = U( J, KMS+2 ) - REFSUM*DCONJG( V( 2, M
326                          ) )
327
328           U(             J, KMS+3 ) = U( J, KMS+3 ) - REFSUM*DCONJG( V( 3,  M
329                          ) )
330
331           60             CONTINUE
332
333           ELSE           IF( WANTZ ) THEN
334
335           DO             70 J = ILOZ, IHIZ
336
337           REFSUM         =  V( 1, M )*( Z( J, K+1 )+V( 2, M )* Z( J, K+2 )+V(
338                          3, M )*Z( J, K+3 ) )
339
340           Z(             J, K+1 ) = Z( J, K+1 ) - REFSUM
341
342           Z(             J, K+2 ) = Z( J, K+2 ) - REFSUM*DCONJG( V( 2, M ) )
343
344           Z(             J, K+3 ) = Z( J, K+3 ) - REFSUM*DCONJG( V( 3, M ) )
345
346           70             CONTINUE
347
348           END            IF
349
350           END            IF
351
352           80             CONTINUE
353
354           K              = KRCOL + 3*( M22-1 )
355
356           IF(            BMP22 .AND. ( V( 1, M22 ).NE.ZERO ) ) THEN
357
358           DO             90 J = JTOP, MIN( KBOT, K+3 )
359
360           REFSUM         = V( 1, M22 )*( H( J, K+1 )+V( 2, M22 )* H( J, K+2 )
361                          )
362
363           H(             J, K+1 ) = H( J, K+1 ) - REFSUM
364
365           H(             J,  K+2 ) = H( J, K+2 ) - REFSUM*DCONJG( V( 2, M22 )
366                          )
367
368           90             CONTINUE
369
370           IF(            ACCUM ) THEN
371
372           KMS            = K - INCOL
373
374           DO             100 J = MAX( 1, KTOP-INCOL ), KDU
375
376           REFSUM         = V( 1, M22 )*( U( J, KMS+1 )+V( 2,  M22  )*  U(  J,
377                          KMS+2 ) )
378
379           U(             J, KMS+1 ) = U( J, KMS+1 ) - REFSUM
380
381           U(             J,  KMS+2  )  = U( J, KMS+2 ) - REFSUM*DCONJG( V( 2,
382                          M22 ) )
383
384           100            CONTINUE
385
386           ELSE           IF( WANTZ ) THEN
387
388           DO             110 J = ILOZ, IHIZ
389
390           REFSUM         = V( 1, M22 )*( Z( J, K+1 )+V( 2, M22 )* Z( J, K+2 )
391                          )
392
393           Z(             J, K+1 ) = Z( J, K+1 ) - REFSUM
394
395           Z(             J,  K+2 ) = Z( J, K+2 ) - REFSUM*DCONJG( V( 2, M22 )
396                          )
397
398           110            CONTINUE
399
400           END            IF
401
402           END            IF
403
404           MSTART         = MTOP
405
406           IF(            KRCOL+3*( MSTART-1 ).LT.KTOP ) MSTART = MSTART + 1
407
408           MEND           = MBOT
409
410           IF(            BMP22 ) MEND = MEND + 1
411
412           IF(            KRCOL.EQ.KBOT-2 ) MEND = MEND + 1
413
414           DO             120 M = MSTART, MEND
415
416           K              = MIN( KBOT-1, KRCOL+3*( M-1 ) )
417
418           IF(            H( K+1, K ).NE.ZERO ) THEN
419
420           TST1           = CABS1( H( K, K ) ) + CABS1( H( K+1, K+1 ) )
421
422           IF(            TST1.EQ.RZERO ) THEN
423
424           IF(            K.GE.KTOP+1 ) TST1 = TST1 + CABS1( H( K, K-1 ) )
425
426           IF(            K.GE.KTOP+2 ) TST1 = TST1 + CABS1( H( K, K-2 ) )
427
428           IF(            K.GE.KTOP+3 ) TST1 = TST1 + CABS1( H( K, K-3 ) )
429
430           IF(            K.LE.KBOT-2 ) TST1 = TST1 + CABS1( H( K+2, K+1 ) )
431
432           IF(            K.LE.KBOT-3 ) TST1 = TST1 + CABS1( H( K+3, K+1 ) )
433
434           IF(            K.LE.KBOT-4 ) TST1 = TST1 + CABS1( H( K+4, K+1 ) )
435
436           END            IF
437
438           IF(            CABS1( H( K+1, K ) ).LE.MAX( SMLNUM,  ULP*TST1  )  )
439                          THEN
440
441           H12            = MAX( CABS1( H( K+1, K ) ), CABS1( H( K, K+1 ) ) )
442
443           H21            = MIN( CABS1( H( K+1, K ) ), CABS1( H( K, K+1 ) ) )
444
445           H11            =  MAX(  CABS1( H( K+1, K+1 ) ), CABS1( H( K, K )-H(
446                          K+1, K+1 ) ) )
447
448           H22            = MIN( CABS1( H( K+1, K+1 ) ), CABS1( H( K,  K  )-H(
449                          K+1, K+1 ) ) )
450
451           SCL            = H11 + H12
452
453           TST2           = H22*( H11 / SCL )
454
455           IF(            TST2.EQ.RZERO  .OR. H21*( H12 / SCL ).LE.  MAX( SML‐
456                          NUM, ULP*TST2 ) )H( K+1, K ) = ZERO
457
458           END            IF
459
460           END            IF
461
462           120            CONTINUE
463
464           MEND           = MIN( NBMPS, ( KBOT-KRCOL-1 ) / 3 )
465
466           DO             130 M = MTOP, MEND
467
468           K              = KRCOL + 3*( M-1 )
469
470           REFSUM         = V( 1, M )*V( 3, M )*H( K+4, K+3 )
471
472           H(             K+4, K+1 ) = -REFSUM
473
474           H(             K+4, K+2 ) = -REFSUM*DCONJG( V( 2, M ) )
475
476           H(             K+4, K+3 ) = H( K+4, K+3 ) - REFSUM*DCONJG( V( 3,  M
477                          ) )
478
479           130            CONTINUE
480
481           140            CONTINUE
482
483           IF(            ACCUM ) THEN
484
485           IF(            WANTT ) THEN
486
487           JTOP           = 1
488
489           JBOT           = N
490
491           ELSE
492
493           JTOP           = KTOP
494
495           JBOT           = KBOT
496
497           END            IF
498
499           IF(            (  .NOT.BLK22  )  .OR.  (  INCOL.LT.KTOP  )  .OR.  (
500                          NDCOL.GT.KBOT ) .OR. ( NS.LE.2 ) ) THEN
501
502           K1             = MAX( 1, KTOP-INCOL )
503
504           NU             = ( KDU-MAX( 0, NDCOL-KBOT ) ) - K1 + 1
505
506           DO             150 JCOL = MIN( NDCOL, KBOT ) + 1, JBOT, NH
507
508           JLEN           = MIN( NH, JBOT-JCOL+1 )
509
510           CALL           ZGEMM( 'C', 'N', NU, JLEN, NU, ONE,  U(  K1,  K1  ),
511                          LDU, H( INCOL+K1, JCOL ), LDH, ZERO, WH, LDWH )
512
513           CALL           ZLACPY( 'ALL', NU, JLEN, WH, LDWH, H( INCOL+K1, JCOL
514                          ), LDH )
515
516           150            CONTINUE
517
518           DO             160 JROW = JTOP, MAX( KTOP, INCOL ) - 1, NV
519
520           JLEN           = MIN( NV, MAX( KTOP, INCOL )-JROW )
521
522           CALL           ZGEMM(  'N',  'N',  JLEN,  NU,  NU,  ONE,  H(  JROW,
523                          INCOL+K1 ), LDH, U( K1, K1 ), LDU, ZERO, WV, LDWV )
524
525           CALL           ZLACPY( 'ALL', JLEN, NU, WV, LDWV, H( JROW, INCOL+K1
526                          ), LDH )
527
528           160            CONTINUE
529
530           IF(            WANTZ ) THEN
531
532           DO             170 JROW = ILOZ, IHIZ, NV
533
534           JLEN           = MIN( NV, IHIZ-JROW+1 )
535
536           CALL           ZGEMM(  'N',  'N',  JLEN,  NU,  NU,  ONE,  Z(  JROW,
537                          INCOL+K1 ), LDZ, U( K1, K1 ), LDU, ZERO, WV, LDWV )
538
539           CALL           ZLACPY( 'ALL', JLEN, NU, WV, LDWV, Z( JROW, INCOL+K1
540                          ), LDZ )
541
542           170            CONTINUE
543
544           END            IF
545
546           ELSE
547
548           I2             = ( KDU+1 ) / 2
549
550           I4             = KDU
551
552           J2             = I4 - I2
553
554           J4             = KDU
555
556           KZS            = ( J4-J2 ) - ( NS+1 )
557
558           KNZ            = NS + 1
559
560           DO             180 JCOL = MIN( NDCOL, KBOT ) + 1, JBOT, NH
561
562           JLEN           = MIN( NH, JBOT-JCOL+1 )
563
564           CALL           ZLACPY( 'ALL', KNZ, JLEN,  H(  INCOL+1+J2,  JCOL  ),
565                          LDH, WH( KZS+1, 1 ), LDWH )
566
567           CALL           ZLASET( 'ALL', KZS, JLEN, ZERO, ZERO, WH, LDWH )
568
569           CALL           ZTRMM(  'L', 'U', 'C', 'N', KNZ, JLEN, ONE, U( J2+1,
570                          1+KZS ), LDU, WH( KZS+1, 1 ), LDWH )
571
572           CALL           ZGEMM( 'C', 'N', I2,  JLEN,  J2,  ONE,  U,  LDU,  H(
573                          INCOL+1, JCOL ), LDH, ONE, WH, LDWH )
574
575           CALL           ZLACPY(  'ALL',  J2,  JLEN, H( INCOL+1, JCOL ), LDH,
576                          WH( I2+1, 1 ), LDWH )
577
578           CALL           ZTRMM( 'L', 'L', 'C', 'N', J2, JLEN, ONE, U( 1, I2+1
579                          ), LDU, WH( I2+1, 1 ), LDWH )
580
581           CALL           ZGEMM(  'C',  'N', I4-I2, JLEN, J4-J2, ONE, U( J2+1,
582                          I2+1 ), LDU, H( INCOL+1+J2, JCOL ),  LDH,  ONE,  WH(
583                          I2+1, 1 ), LDWH )
584
585           CALL           ZLACPY( 'ALL', KDU, JLEN, WH, LDWH, H( INCOL+1, JCOL
586                          ), LDH )
587
588           180            CONTINUE
589
590           DO             190 JROW = JTOP, MAX( INCOL, KTOP ) - 1, NV
591
592           JLEN           = MIN( NV, MAX( INCOL, KTOP )-JROW )
593
594           CALL           ZLACPY( 'ALL', JLEN, KNZ,  H(  JROW,  INCOL+1+J2  ),
595                          LDH, WV( 1, 1+KZS ), LDWV )
596
597           CALL           ZLASET( 'ALL', JLEN, KZS, ZERO, ZERO, WV, LDWV )
598
599           CALL           ZTRMM(  'R', 'U', 'N', 'N', JLEN, KNZ, ONE, U( J2+1,
600                          1+KZS ), LDU, WV( 1, 1+KZS ), LDWV )
601
602           CALL           ZGEMM( 'N', 'N', JLEN, I2, J2, ONE, H( JROW, INCOL+1
603                          ), LDH, U, LDU, ONE, WV, LDWV )
604
605           CALL           ZLACPY(  'ALL',  JLEN,  J2, H( JROW, INCOL+1 ), LDH,
606                          WV( 1, 1+I2 ), LDWV )
607
608           CALL           ZTRMM( 'R', 'L', 'N', 'N', JLEN, I4-I2, ONE,  U(  1,
609                          I2+1 ), LDU, WV( 1, 1+I2 ), LDWV )
610
611           CALL           ZGEMM(  'N',  'N', JLEN, I4-I2, J4-J2, ONE, H( JROW,
612                          INCOL+1+J2 ), LDH, U( J2+1, I2+1 ), LDU, ONE, WV( 1,
613                          1+I2 ), LDWV )
614
615           CALL           ZLACPY( 'ALL', JLEN, KDU, WV, LDWV, H( JROW, INCOL+1
616                          ), LDH )
617
618           190            CONTINUE
619
620           IF(            WANTZ ) THEN
621
622           DO             200 JROW = ILOZ, IHIZ, NV
623
624           JLEN           = MIN( NV, IHIZ-JROW+1 )
625
626           CALL           ZLACPY( 'ALL', JLEN, KNZ,  Z(  JROW,  INCOL+1+J2  ),
627                          LDZ, WV( 1, 1+KZS ), LDWV )
628
629           CALL           ZLASET( 'ALL', JLEN, KZS, ZERO, ZERO, WV, LDWV )
630
631           CALL           ZTRMM(  'R', 'U', 'N', 'N', JLEN, KNZ, ONE, U( J2+1,
632                          1+KZS ), LDU, WV( 1, 1+KZS ), LDWV )
633
634           CALL           ZGEMM( 'N', 'N', JLEN, I2, J2, ONE, Z( JROW, INCOL+1
635                          ), LDZ, U, LDU, ONE, WV, LDWV )
636
637           CALL           ZLACPY(  'ALL',  JLEN,  J2, Z( JROW, INCOL+1 ), LDZ,
638                          WV( 1, 1+I2 ), LDWV )
639
640           CALL           ZTRMM( 'R', 'L', 'N', 'N', JLEN, I4-I2, ONE,  U(  1,
641                          I2+1 ), LDU, WV( 1, 1+I2 ), LDWV )
642
643           CALL           ZGEMM(  'N',  'N', JLEN, I4-I2, J4-J2, ONE, Z( JROW,
644                          INCOL+1+J2 ), LDZ, U( J2+1, I2+1 ), LDU, ONE, WV( 1,
645                          1+I2 ), LDWV )
646
647           CALL           ZLACPY( 'ALL', JLEN, KDU, WV, LDWV, Z( JROW, INCOL+1
648                          ), LDZ )
649
650           200            CONTINUE
651
652           END            IF
653
654           END            IF
655
656           END            IF
657
658           210            CONTINUE
659
660           END
661

PURPOSE

663 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006                       ZLAQR5(1)
Impressum