Annotation of rpl/lapack/lapack/dlarfx.f, revision 1.2

1.1       bertrand    1:       SUBROUTINE DLARFX( SIDE, M, N, V, TAU, C, LDC, WORK )
                      2:       IMPLICIT NONE
                      3: *
                      4: *  -- LAPACK auxiliary routine (version 3.2) --
                      5: *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
                      6: *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
                      7: *     November 2006
                      8: *
                      9: *     .. Scalar Arguments ..
                     10:       CHARACTER          SIDE
                     11:       INTEGER            LDC, M, N
                     12:       DOUBLE PRECISION   TAU
                     13: *     ..
                     14: *     .. Array Arguments ..
                     15:       DOUBLE PRECISION   C( LDC, * ), V( * ), WORK( * )
                     16: *     ..
                     17: *
                     18: *  Purpose
                     19: *  =======
                     20: *
                     21: *  DLARFX applies a real elementary reflector H to a real m by n
                     22: *  matrix C, from either the left or the right. H is represented in the
                     23: *  form
                     24: *
                     25: *        H = I - tau * v * v'
                     26: *
                     27: *  where tau is a real scalar and v is a real vector.
                     28: *
                     29: *  If tau = 0, then H is taken to be the unit matrix
                     30: *
                     31: *  This version uses inline code if H has order < 11.
                     32: *
                     33: *  Arguments
                     34: *  =========
                     35: *
                     36: *  SIDE    (input) CHARACTER*1
                     37: *          = 'L': form  H * C
                     38: *          = 'R': form  C * H
                     39: *
                     40: *  M       (input) INTEGER
                     41: *          The number of rows of the matrix C.
                     42: *
                     43: *  N       (input) INTEGER
                     44: *          The number of columns of the matrix C.
                     45: *
                     46: *  V       (input) DOUBLE PRECISION array, dimension (M) if SIDE = 'L'
                     47: *                                     or (N) if SIDE = 'R'
                     48: *          The vector v in the representation of H.
                     49: *
                     50: *  TAU     (input) DOUBLE PRECISION
                     51: *          The value tau in the representation of H.
                     52: *
                     53: *  C       (input/output) DOUBLE PRECISION array, dimension (LDC,N)
                     54: *          On entry, the m by n matrix C.
                     55: *          On exit, C is overwritten by the matrix H * C if SIDE = 'L',
                     56: *          or C * H if SIDE = 'R'.
                     57: *
                     58: *  LDC     (input) INTEGER
                     59: *          The leading dimension of the array C. LDA >= (1,M).
                     60: *
                     61: *  WORK    (workspace) DOUBLE PRECISION array, dimension
                     62: *                      (N) if SIDE = 'L'
                     63: *                      or (M) if SIDE = 'R'
                     64: *          WORK is not referenced if H has order < 11.
                     65: *
                     66: *  =====================================================================
                     67: *
                     68: *     .. Parameters ..
                     69:       DOUBLE PRECISION   ZERO, ONE
                     70:       PARAMETER          ( ZERO = 0.0D+0, ONE = 1.0D+0 )
                     71: *     ..
                     72: *     .. Local Scalars ..
                     73:       INTEGER            J
                     74:       DOUBLE PRECISION   SUM, T1, T10, T2, T3, T4, T5, T6, T7, T8, T9,
                     75:      $                   V1, V10, V2, V3, V4, V5, V6, V7, V8, V9
                     76: *     ..
                     77: *     .. External Functions ..
                     78:       LOGICAL            LSAME
                     79:       EXTERNAL           LSAME
                     80: *     ..
                     81: *     .. External Subroutines ..
                     82:       EXTERNAL           DLARF
                     83: *     ..
                     84: *     .. Executable Statements ..
                     85: *
                     86:       IF( TAU.EQ.ZERO )
                     87:      $   RETURN
                     88:       IF( LSAME( SIDE, 'L' ) ) THEN
                     89: *
                     90: *        Form  H * C, where H has order m.
                     91: *
                     92:          GO TO ( 10, 30, 50, 70, 90, 110, 130, 150,
                     93:      $           170, 190 )M
                     94: *
                     95: *        Code for general M
                     96: *
                     97:          CALL DLARF( SIDE, M, N, V, 1, TAU, C, LDC, WORK )
                     98:          GO TO 410
                     99:    10    CONTINUE
                    100: *
                    101: *        Special code for 1 x 1 Householder
                    102: *
                    103:          T1 = ONE - TAU*V( 1 )*V( 1 )
                    104:          DO 20 J = 1, N
                    105:             C( 1, J ) = T1*C( 1, J )
                    106:    20    CONTINUE
                    107:          GO TO 410
                    108:    30    CONTINUE
                    109: *
                    110: *        Special code for 2 x 2 Householder
                    111: *
                    112:          V1 = V( 1 )
                    113:          T1 = TAU*V1
                    114:          V2 = V( 2 )
                    115:          T2 = TAU*V2
                    116:          DO 40 J = 1, N
                    117:             SUM = V1*C( 1, J ) + V2*C( 2, J )
                    118:             C( 1, J ) = C( 1, J ) - SUM*T1
                    119:             C( 2, J ) = C( 2, J ) - SUM*T2
                    120:    40    CONTINUE
                    121:          GO TO 410
                    122:    50    CONTINUE
                    123: *
                    124: *        Special code for 3 x 3 Householder
                    125: *
                    126:          V1 = V( 1 )
                    127:          T1 = TAU*V1
                    128:          V2 = V( 2 )
                    129:          T2 = TAU*V2
                    130:          V3 = V( 3 )
                    131:          T3 = TAU*V3
                    132:          DO 60 J = 1, N
                    133:             SUM = V1*C( 1, J ) + V2*C( 2, J ) + V3*C( 3, J )
                    134:             C( 1, J ) = C( 1, J ) - SUM*T1
                    135:             C( 2, J ) = C( 2, J ) - SUM*T2
                    136:             C( 3, J ) = C( 3, J ) - SUM*T3
                    137:    60    CONTINUE
                    138:          GO TO 410
                    139:    70    CONTINUE
                    140: *
                    141: *        Special code for 4 x 4 Householder
                    142: *
                    143:          V1 = V( 1 )
                    144:          T1 = TAU*V1
                    145:          V2 = V( 2 )
                    146:          T2 = TAU*V2
                    147:          V3 = V( 3 )
                    148:          T3 = TAU*V3
                    149:          V4 = V( 4 )
                    150:          T4 = TAU*V4
                    151:          DO 80 J = 1, N
                    152:             SUM = V1*C( 1, J ) + V2*C( 2, J ) + V3*C( 3, J ) +
                    153:      $            V4*C( 4, J )
                    154:             C( 1, J ) = C( 1, J ) - SUM*T1
                    155:             C( 2, J ) = C( 2, J ) - SUM*T2
                    156:             C( 3, J ) = C( 3, J ) - SUM*T3
                    157:             C( 4, J ) = C( 4, J ) - SUM*T4
                    158:    80    CONTINUE
                    159:          GO TO 410
                    160:    90    CONTINUE
                    161: *
                    162: *        Special code for 5 x 5 Householder
                    163: *
                    164:          V1 = V( 1 )
                    165:          T1 = TAU*V1
                    166:          V2 = V( 2 )
                    167:          T2 = TAU*V2
                    168:          V3 = V( 3 )
                    169:          T3 = TAU*V3
                    170:          V4 = V( 4 )
                    171:          T4 = TAU*V4
                    172:          V5 = V( 5 )
                    173:          T5 = TAU*V5
                    174:          DO 100 J = 1, N
                    175:             SUM = V1*C( 1, J ) + V2*C( 2, J ) + V3*C( 3, J ) +
                    176:      $            V4*C( 4, J ) + V5*C( 5, J )
                    177:             C( 1, J ) = C( 1, J ) - SUM*T1
                    178:             C( 2, J ) = C( 2, J ) - SUM*T2
                    179:             C( 3, J ) = C( 3, J ) - SUM*T3
                    180:             C( 4, J ) = C( 4, J ) - SUM*T4
                    181:             C( 5, J ) = C( 5, J ) - SUM*T5
                    182:   100    CONTINUE
                    183:          GO TO 410
                    184:   110    CONTINUE
                    185: *
                    186: *        Special code for 6 x 6 Householder
                    187: *
                    188:          V1 = V( 1 )
                    189:          T1 = TAU*V1
                    190:          V2 = V( 2 )
                    191:          T2 = TAU*V2
                    192:          V3 = V( 3 )
                    193:          T3 = TAU*V3
                    194:          V4 = V( 4 )
                    195:          T4 = TAU*V4
                    196:          V5 = V( 5 )
                    197:          T5 = TAU*V5
                    198:          V6 = V( 6 )
                    199:          T6 = TAU*V6
                    200:          DO 120 J = 1, N
                    201:             SUM = V1*C( 1, J ) + V2*C( 2, J ) + V3*C( 3, J ) +
                    202:      $            V4*C( 4, J ) + V5*C( 5, J ) + V6*C( 6, J )
                    203:             C( 1, J ) = C( 1, J ) - SUM*T1
                    204:             C( 2, J ) = C( 2, J ) - SUM*T2
                    205:             C( 3, J ) = C( 3, J ) - SUM*T3
                    206:             C( 4, J ) = C( 4, J ) - SUM*T4
                    207:             C( 5, J ) = C( 5, J ) - SUM*T5
                    208:             C( 6, J ) = C( 6, J ) - SUM*T6
                    209:   120    CONTINUE
                    210:          GO TO 410
                    211:   130    CONTINUE
                    212: *
                    213: *        Special code for 7 x 7 Householder
                    214: *
                    215:          V1 = V( 1 )
                    216:          T1 = TAU*V1
                    217:          V2 = V( 2 )
                    218:          T2 = TAU*V2
                    219:          V3 = V( 3 )
                    220:          T3 = TAU*V3
                    221:          V4 = V( 4 )
                    222:          T4 = TAU*V4
                    223:          V5 = V( 5 )
                    224:          T5 = TAU*V5
                    225:          V6 = V( 6 )
                    226:          T6 = TAU*V6
                    227:          V7 = V( 7 )
                    228:          T7 = TAU*V7
                    229:          DO 140 J = 1, N
                    230:             SUM = V1*C( 1, J ) + V2*C( 2, J ) + V3*C( 3, J ) +
                    231:      $            V4*C( 4, J ) + V5*C( 5, J ) + V6*C( 6, J ) +
                    232:      $            V7*C( 7, J )
                    233:             C( 1, J ) = C( 1, J ) - SUM*T1
                    234:             C( 2, J ) = C( 2, J ) - SUM*T2
                    235:             C( 3, J ) = C( 3, J ) - SUM*T3
                    236:             C( 4, J ) = C( 4, J ) - SUM*T4
                    237:             C( 5, J ) = C( 5, J ) - SUM*T5
                    238:             C( 6, J ) = C( 6, J ) - SUM*T6
                    239:             C( 7, J ) = C( 7, J ) - SUM*T7
                    240:   140    CONTINUE
                    241:          GO TO 410
                    242:   150    CONTINUE
                    243: *
                    244: *        Special code for 8 x 8 Householder
                    245: *
                    246:          V1 = V( 1 )
                    247:          T1 = TAU*V1
                    248:          V2 = V( 2 )
                    249:          T2 = TAU*V2
                    250:          V3 = V( 3 )
                    251:          T3 = TAU*V3
                    252:          V4 = V( 4 )
                    253:          T4 = TAU*V4
                    254:          V5 = V( 5 )
                    255:          T5 = TAU*V5
                    256:          V6 = V( 6 )
                    257:          T6 = TAU*V6
                    258:          V7 = V( 7 )
                    259:          T7 = TAU*V7
                    260:          V8 = V( 8 )
                    261:          T8 = TAU*V8
                    262:          DO 160 J = 1, N
                    263:             SUM = V1*C( 1, J ) + V2*C( 2, J ) + V3*C( 3, J ) +
                    264:      $            V4*C( 4, J ) + V5*C( 5, J ) + V6*C( 6, J ) +
                    265:      $            V7*C( 7, J ) + V8*C( 8, J )
                    266:             C( 1, J ) = C( 1, J ) - SUM*T1
                    267:             C( 2, J ) = C( 2, J ) - SUM*T2
                    268:             C( 3, J ) = C( 3, J ) - SUM*T3
                    269:             C( 4, J ) = C( 4, J ) - SUM*T4
                    270:             C( 5, J ) = C( 5, J ) - SUM*T5
                    271:             C( 6, J ) = C( 6, J ) - SUM*T6
                    272:             C( 7, J ) = C( 7, J ) - SUM*T7
                    273:             C( 8, J ) = C( 8, J ) - SUM*T8
                    274:   160    CONTINUE
                    275:          GO TO 410
                    276:   170    CONTINUE
                    277: *
                    278: *        Special code for 9 x 9 Householder
                    279: *
                    280:          V1 = V( 1 )
                    281:          T1 = TAU*V1
                    282:          V2 = V( 2 )
                    283:          T2 = TAU*V2
                    284:          V3 = V( 3 )
                    285:          T3 = TAU*V3
                    286:          V4 = V( 4 )
                    287:          T4 = TAU*V4
                    288:          V5 = V( 5 )
                    289:          T5 = TAU*V5
                    290:          V6 = V( 6 )
                    291:          T6 = TAU*V6
                    292:          V7 = V( 7 )
                    293:          T7 = TAU*V7
                    294:          V8 = V( 8 )
                    295:          T8 = TAU*V8
                    296:          V9 = V( 9 )
                    297:          T9 = TAU*V9
                    298:          DO 180 J = 1, N
                    299:             SUM = V1*C( 1, J ) + V2*C( 2, J ) + V3*C( 3, J ) +
                    300:      $            V4*C( 4, J ) + V5*C( 5, J ) + V6*C( 6, J ) +
                    301:      $            V7*C( 7, J ) + V8*C( 8, J ) + V9*C( 9, J )
                    302:             C( 1, J ) = C( 1, J ) - SUM*T1
                    303:             C( 2, J ) = C( 2, J ) - SUM*T2
                    304:             C( 3, J ) = C( 3, J ) - SUM*T3
                    305:             C( 4, J ) = C( 4, J ) - SUM*T4
                    306:             C( 5, J ) = C( 5, J ) - SUM*T5
                    307:             C( 6, J ) = C( 6, J ) - SUM*T6
                    308:             C( 7, J ) = C( 7, J ) - SUM*T7
                    309:             C( 8, J ) = C( 8, J ) - SUM*T8
                    310:             C( 9, J ) = C( 9, J ) - SUM*T9
                    311:   180    CONTINUE
                    312:          GO TO 410
                    313:   190    CONTINUE
                    314: *
                    315: *        Special code for 10 x 10 Householder
                    316: *
                    317:          V1 = V( 1 )
                    318:          T1 = TAU*V1
                    319:          V2 = V( 2 )
                    320:          T2 = TAU*V2
                    321:          V3 = V( 3 )
                    322:          T3 = TAU*V3
                    323:          V4 = V( 4 )
                    324:          T4 = TAU*V4
                    325:          V5 = V( 5 )
                    326:          T5 = TAU*V5
                    327:          V6 = V( 6 )
                    328:          T6 = TAU*V6
                    329:          V7 = V( 7 )
                    330:          T7 = TAU*V7
                    331:          V8 = V( 8 )
                    332:          T8 = TAU*V8
                    333:          V9 = V( 9 )
                    334:          T9 = TAU*V9
                    335:          V10 = V( 10 )
                    336:          T10 = TAU*V10
                    337:          DO 200 J = 1, N
                    338:             SUM = V1*C( 1, J ) + V2*C( 2, J ) + V3*C( 3, J ) +
                    339:      $            V4*C( 4, J ) + V5*C( 5, J ) + V6*C( 6, J ) +
                    340:      $            V7*C( 7, J ) + V8*C( 8, J ) + V9*C( 9, J ) +
                    341:      $            V10*C( 10, J )
                    342:             C( 1, J ) = C( 1, J ) - SUM*T1
                    343:             C( 2, J ) = C( 2, J ) - SUM*T2
                    344:             C( 3, J ) = C( 3, J ) - SUM*T3
                    345:             C( 4, J ) = C( 4, J ) - SUM*T4
                    346:             C( 5, J ) = C( 5, J ) - SUM*T5
                    347:             C( 6, J ) = C( 6, J ) - SUM*T6
                    348:             C( 7, J ) = C( 7, J ) - SUM*T7
                    349:             C( 8, J ) = C( 8, J ) - SUM*T8
                    350:             C( 9, J ) = C( 9, J ) - SUM*T9
                    351:             C( 10, J ) = C( 10, J ) - SUM*T10
                    352:   200    CONTINUE
                    353:          GO TO 410
                    354:       ELSE
                    355: *
                    356: *        Form  C * H, where H has order n.
                    357: *
                    358:          GO TO ( 210, 230, 250, 270, 290, 310, 330, 350,
                    359:      $           370, 390 )N
                    360: *
                    361: *        Code for general N
                    362: *
                    363:          CALL DLARF( SIDE, M, N, V, 1, TAU, C, LDC, WORK )
                    364:          GO TO 410
                    365:   210    CONTINUE
                    366: *
                    367: *        Special code for 1 x 1 Householder
                    368: *
                    369:          T1 = ONE - TAU*V( 1 )*V( 1 )
                    370:          DO 220 J = 1, M
                    371:             C( J, 1 ) = T1*C( J, 1 )
                    372:   220    CONTINUE
                    373:          GO TO 410
                    374:   230    CONTINUE
                    375: *
                    376: *        Special code for 2 x 2 Householder
                    377: *
                    378:          V1 = V( 1 )
                    379:          T1 = TAU*V1
                    380:          V2 = V( 2 )
                    381:          T2 = TAU*V2
                    382:          DO 240 J = 1, M
                    383:             SUM = V1*C( J, 1 ) + V2*C( J, 2 )
                    384:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    385:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    386:   240    CONTINUE
                    387:          GO TO 410
                    388:   250    CONTINUE
                    389: *
                    390: *        Special code for 3 x 3 Householder
                    391: *
                    392:          V1 = V( 1 )
                    393:          T1 = TAU*V1
                    394:          V2 = V( 2 )
                    395:          T2 = TAU*V2
                    396:          V3 = V( 3 )
                    397:          T3 = TAU*V3
                    398:          DO 260 J = 1, M
                    399:             SUM = V1*C( J, 1 ) + V2*C( J, 2 ) + V3*C( J, 3 )
                    400:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    401:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    402:             C( J, 3 ) = C( J, 3 ) - SUM*T3
                    403:   260    CONTINUE
                    404:          GO TO 410
                    405:   270    CONTINUE
                    406: *
                    407: *        Special code for 4 x 4 Householder
                    408: *
                    409:          V1 = V( 1 )
                    410:          T1 = TAU*V1
                    411:          V2 = V( 2 )
                    412:          T2 = TAU*V2
                    413:          V3 = V( 3 )
                    414:          T3 = TAU*V3
                    415:          V4 = V( 4 )
                    416:          T4 = TAU*V4
                    417:          DO 280 J = 1, M
                    418:             SUM = V1*C( J, 1 ) + V2*C( J, 2 ) + V3*C( J, 3 ) +
                    419:      $            V4*C( J, 4 )
                    420:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    421:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    422:             C( J, 3 ) = C( J, 3 ) - SUM*T3
                    423:             C( J, 4 ) = C( J, 4 ) - SUM*T4
                    424:   280    CONTINUE
                    425:          GO TO 410
                    426:   290    CONTINUE
                    427: *
                    428: *        Special code for 5 x 5 Householder
                    429: *
                    430:          V1 = V( 1 )
                    431:          T1 = TAU*V1
                    432:          V2 = V( 2 )
                    433:          T2 = TAU*V2
                    434:          V3 = V( 3 )
                    435:          T3 = TAU*V3
                    436:          V4 = V( 4 )
                    437:          T4 = TAU*V4
                    438:          V5 = V( 5 )
                    439:          T5 = TAU*V5
                    440:          DO 300 J = 1, M
                    441:             SUM = V1*C( J, 1 ) + V2*C( J, 2 ) + V3*C( J, 3 ) +
                    442:      $            V4*C( J, 4 ) + V5*C( J, 5 )
                    443:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    444:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    445:             C( J, 3 ) = C( J, 3 ) - SUM*T3
                    446:             C( J, 4 ) = C( J, 4 ) - SUM*T4
                    447:             C( J, 5 ) = C( J, 5 ) - SUM*T5
                    448:   300    CONTINUE
                    449:          GO TO 410
                    450:   310    CONTINUE
                    451: *
                    452: *        Special code for 6 x 6 Householder
                    453: *
                    454:          V1 = V( 1 )
                    455:          T1 = TAU*V1
                    456:          V2 = V( 2 )
                    457:          T2 = TAU*V2
                    458:          V3 = V( 3 )
                    459:          T3 = TAU*V3
                    460:          V4 = V( 4 )
                    461:          T4 = TAU*V4
                    462:          V5 = V( 5 )
                    463:          T5 = TAU*V5
                    464:          V6 = V( 6 )
                    465:          T6 = TAU*V6
                    466:          DO 320 J = 1, M
                    467:             SUM = V1*C( J, 1 ) + V2*C( J, 2 ) + V3*C( J, 3 ) +
                    468:      $            V4*C( J, 4 ) + V5*C( J, 5 ) + V6*C( J, 6 )
                    469:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    470:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    471:             C( J, 3 ) = C( J, 3 ) - SUM*T3
                    472:             C( J, 4 ) = C( J, 4 ) - SUM*T4
                    473:             C( J, 5 ) = C( J, 5 ) - SUM*T5
                    474:             C( J, 6 ) = C( J, 6 ) - SUM*T6
                    475:   320    CONTINUE
                    476:          GO TO 410
                    477:   330    CONTINUE
                    478: *
                    479: *        Special code for 7 x 7 Householder
                    480: *
                    481:          V1 = V( 1 )
                    482:          T1 = TAU*V1
                    483:          V2 = V( 2 )
                    484:          T2 = TAU*V2
                    485:          V3 = V( 3 )
                    486:          T3 = TAU*V3
                    487:          V4 = V( 4 )
                    488:          T4 = TAU*V4
                    489:          V5 = V( 5 )
                    490:          T5 = TAU*V5
                    491:          V6 = V( 6 )
                    492:          T6 = TAU*V6
                    493:          V7 = V( 7 )
                    494:          T7 = TAU*V7
                    495:          DO 340 J = 1, M
                    496:             SUM = V1*C( J, 1 ) + V2*C( J, 2 ) + V3*C( J, 3 ) +
                    497:      $            V4*C( J, 4 ) + V5*C( J, 5 ) + V6*C( J, 6 ) +
                    498:      $            V7*C( J, 7 )
                    499:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    500:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    501:             C( J, 3 ) = C( J, 3 ) - SUM*T3
                    502:             C( J, 4 ) = C( J, 4 ) - SUM*T4
                    503:             C( J, 5 ) = C( J, 5 ) - SUM*T5
                    504:             C( J, 6 ) = C( J, 6 ) - SUM*T6
                    505:             C( J, 7 ) = C( J, 7 ) - SUM*T7
                    506:   340    CONTINUE
                    507:          GO TO 410
                    508:   350    CONTINUE
                    509: *
                    510: *        Special code for 8 x 8 Householder
                    511: *
                    512:          V1 = V( 1 )
                    513:          T1 = TAU*V1
                    514:          V2 = V( 2 )
                    515:          T2 = TAU*V2
                    516:          V3 = V( 3 )
                    517:          T3 = TAU*V3
                    518:          V4 = V( 4 )
                    519:          T4 = TAU*V4
                    520:          V5 = V( 5 )
                    521:          T5 = TAU*V5
                    522:          V6 = V( 6 )
                    523:          T6 = TAU*V6
                    524:          V7 = V( 7 )
                    525:          T7 = TAU*V7
                    526:          V8 = V( 8 )
                    527:          T8 = TAU*V8
                    528:          DO 360 J = 1, M
                    529:             SUM = V1*C( J, 1 ) + V2*C( J, 2 ) + V3*C( J, 3 ) +
                    530:      $            V4*C( J, 4 ) + V5*C( J, 5 ) + V6*C( J, 6 ) +
                    531:      $            V7*C( J, 7 ) + V8*C( J, 8 )
                    532:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    533:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    534:             C( J, 3 ) = C( J, 3 ) - SUM*T3
                    535:             C( J, 4 ) = C( J, 4 ) - SUM*T4
                    536:             C( J, 5 ) = C( J, 5 ) - SUM*T5
                    537:             C( J, 6 ) = C( J, 6 ) - SUM*T6
                    538:             C( J, 7 ) = C( J, 7 ) - SUM*T7
                    539:             C( J, 8 ) = C( J, 8 ) - SUM*T8
                    540:   360    CONTINUE
                    541:          GO TO 410
                    542:   370    CONTINUE
                    543: *
                    544: *        Special code for 9 x 9 Householder
                    545: *
                    546:          V1 = V( 1 )
                    547:          T1 = TAU*V1
                    548:          V2 = V( 2 )
                    549:          T2 = TAU*V2
                    550:          V3 = V( 3 )
                    551:          T3 = TAU*V3
                    552:          V4 = V( 4 )
                    553:          T4 = TAU*V4
                    554:          V5 = V( 5 )
                    555:          T5 = TAU*V5
                    556:          V6 = V( 6 )
                    557:          T6 = TAU*V6
                    558:          V7 = V( 7 )
                    559:          T7 = TAU*V7
                    560:          V8 = V( 8 )
                    561:          T8 = TAU*V8
                    562:          V9 = V( 9 )
                    563:          T9 = TAU*V9
                    564:          DO 380 J = 1, M
                    565:             SUM = V1*C( J, 1 ) + V2*C( J, 2 ) + V3*C( J, 3 ) +
                    566:      $            V4*C( J, 4 ) + V5*C( J, 5 ) + V6*C( J, 6 ) +
                    567:      $            V7*C( J, 7 ) + V8*C( J, 8 ) + V9*C( J, 9 )
                    568:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    569:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    570:             C( J, 3 ) = C( J, 3 ) - SUM*T3
                    571:             C( J, 4 ) = C( J, 4 ) - SUM*T4
                    572:             C( J, 5 ) = C( J, 5 ) - SUM*T5
                    573:             C( J, 6 ) = C( J, 6 ) - SUM*T6
                    574:             C( J, 7 ) = C( J, 7 ) - SUM*T7
                    575:             C( J, 8 ) = C( J, 8 ) - SUM*T8
                    576:             C( J, 9 ) = C( J, 9 ) - SUM*T9
                    577:   380    CONTINUE
                    578:          GO TO 410
                    579:   390    CONTINUE
                    580: *
                    581: *        Special code for 10 x 10 Householder
                    582: *
                    583:          V1 = V( 1 )
                    584:          T1 = TAU*V1
                    585:          V2 = V( 2 )
                    586:          T2 = TAU*V2
                    587:          V3 = V( 3 )
                    588:          T3 = TAU*V3
                    589:          V4 = V( 4 )
                    590:          T4 = TAU*V4
                    591:          V5 = V( 5 )
                    592:          T5 = TAU*V5
                    593:          V6 = V( 6 )
                    594:          T6 = TAU*V6
                    595:          V7 = V( 7 )
                    596:          T7 = TAU*V7
                    597:          V8 = V( 8 )
                    598:          T8 = TAU*V8
                    599:          V9 = V( 9 )
                    600:          T9 = TAU*V9
                    601:          V10 = V( 10 )
                    602:          T10 = TAU*V10
                    603:          DO 400 J = 1, M
                    604:             SUM = V1*C( J, 1 ) + V2*C( J, 2 ) + V3*C( J, 3 ) +
                    605:      $            V4*C( J, 4 ) + V5*C( J, 5 ) + V6*C( J, 6 ) +
                    606:      $            V7*C( J, 7 ) + V8*C( J, 8 ) + V9*C( J, 9 ) +
                    607:      $            V10*C( J, 10 )
                    608:             C( J, 1 ) = C( J, 1 ) - SUM*T1
                    609:             C( J, 2 ) = C( J, 2 ) - SUM*T2
                    610:             C( J, 3 ) = C( J, 3 ) - SUM*T3
                    611:             C( J, 4 ) = C( J, 4 ) - SUM*T4
                    612:             C( J, 5 ) = C( J, 5 ) - SUM*T5
                    613:             C( J, 6 ) = C( J, 6 ) - SUM*T6
                    614:             C( J, 7 ) = C( J, 7 ) - SUM*T7
                    615:             C( J, 8 ) = C( J, 8 ) - SUM*T8
                    616:             C( J, 9 ) = C( J, 9 ) - SUM*T9
                    617:             C( J, 10 ) = C( J, 10 ) - SUM*T10
                    618:   400    CONTINUE
                    619:          GO TO 410
                    620:       END IF
                    621:   410 CONTINUE
                    622:       RETURN
                    623: *
                    624: *     End of DLARFX
                    625: *
                    626:       END

CVSweb interface <joel.bertrand@systella.fr>