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


SYNOPSIS

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

           CHARACTER      SIDE

           INTEGER        LDC, M, N

           DOUBLE         PRECISION TAU

           DOUBLE         PRECISION C( LDC, * ), V( * ), WORK(  *
                          )


PURPOSE

       DLARFX  applies  a real elementary reflector H to a real 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 real scalar and v is a real vector.

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

       This version uses inline code if H has order < 11.


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)  DOUBLE PRECISION array, dimension (M) if
               SIDE = 'L'
               or (N) if SIDE = 'R' The vector v in the represen­
               tation of H.

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

       C       (input/output) DOUBLE PRECISION 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. LDA >=
               (1,M).

       WORK    (workspace) DOUBLE PRECISION array, dimension
               (N) if SIDE = 'L' or (M) if SIDE = 'R' WORK is not
               referenced if H has order < 11.


Man(1) output converted with man2html