NAME
     dlarfx - apply 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( * )
     #include <sunperf.h>
     void dlarfx(char side, int m, int n, double *v, double  tau,
               double *dc, int ldc) ;
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'.
     LDC       (input) INTEGER
               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.
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |