![]() |
LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
| subroutine slarfx | ( | character | side, |
| integer | m, | ||
| integer | n, | ||
| real, dimension( * ) | v, | ||
| real | tau, | ||
| real, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| real, dimension( * ) | work ) |
SLARFX applies an elementary reflector to a general rectangular matrix, with loop unrolling when the reflector has order ≤ 10.
Download SLARFX + dependencies [TGZ] [ZIP] [TXT]
!> !> SLARFX 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**T !> !> 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. !>
| [in] | SIDE | !> SIDE is CHARACTER*1 !> = 'L': form H * C !> = 'R': form C * H !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix C. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix C. !> |
| [in] | V | !> V is REAL array, dimension (M) if SIDE = 'L' !> or (N) if SIDE = 'R' !> The vector v in the representation of H. !> |
| [in] | TAU | !> TAU is REAL !> The value tau in the representation of H. !> |
| [in,out] | C | !> C is 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'. !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= (1,M). !> |
| [out] | WORK | !> WORK is REAL array, dimension !> (N) if SIDE = 'L' !> or (M) if SIDE = 'R' !> WORK is not referenced if H has order < 11. !> |