CLARF  - applie a complex elementary reflector H to a com­
       plex M-by-N matrix C, from either the left or the right


SYNOPSIS

       SUBROUTINE CLARF( SIDE, M, N, V, INCV, TAU, C, LDC, WORK )

           CHARACTER     SIDE

           INTEGER       INCV, LDC, M, N

           COMPLEX       TAU

           COMPLEX       C( LDC, * ), V( * ), WORK( * )


PURPOSE

       CLARF  applies  a complex elementary reflector H to a com­
       plex M-by-N matrix C, from either the left or the right. H
       is represented in the form

             H = I - tau * v * v'

       where tau is a complex scalar and v is a complex vector.

       If tau = 0, then H is taken to be the unit matrix.

       To  apply  H'  (the  conjugate  transpose  of  H),  supply
       conjg(tau) instead tau.


ARGUMENTS

       SIDE    (input) CHARACTER*1
               = 'L': form  H * C
               = 'R': form  C * H

       M       (input) INTEGER
               The number of rows of the matrix C.

       N       (input) INTEGER
               The number of columns of the matrix C.

       V       (input) COMPLEX array, dimension
               (1 + (M-1)*abs(INCV))  if  SIDE  =  'L'  or  (1  +
               (N-1)*abs(INCV)) if SIDE = 'R' The vector v in the
               representation of H. V is not used if TAU = 0.

       INCV    (input) INTEGER
               The increment between elements of v. INCV <> 0.

       TAU     (input) COMPLEX
               The value tau in the representation of H.

       C       (input/output) COMPLEX array, dimension (LDC,N)
               On entry, the M-by-N matrix  C.   On  exit,  C  is

               C * H if SIDE = 'R'.

       LDC     (input) INTEGER
               The leading dimension  of  the  array  C.  LDC  >=
               max(1,M).

       WORK    (workspace) COMPLEX array, dimension
               (N) if SIDE = 'L' or (M) if SIDE = 'R'


Man(1) output converted with man2html