SLARF  -  applie a real elementary reflector H to a real m
       by n matrix C, from either the left or the right


SYNOPSIS

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

           CHARACTER     SIDE

           INTEGER       INCV, LDC, M, N

           REAL          TAU

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


PURPOSE

       SLARF applies a real elementary reflector H to a real m by
       n matrix C, from either the left or the right. H is repre­
       sented in the form
             H = I - tau * v * v'

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

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


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) REAL 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) REAL
               The value tau in the representation of H.

       C       (input/output) REAL array, dimension (LDC,N)
               On  entry,  the  m  by  n matrix C.  On exit, C is
               overwritten by the matrix H * C if SIDE = 'L',  or
               C * H if SIDE = 'R'.

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

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


Man(1) output converted with man2html