![]() |
LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
| subroutine clarfx | ( | character | side, |
| integer | m, | ||
| integer | n, | ||
| complex, dimension( * ) | v, | ||
| complex | tau, | ||
| complex, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| complex, dimension( * ) | work ) |
CLARFX applies an elementary reflector to a general rectangular matrix, with loop unrolling when the reflector has order ≤ 10.
Download CLARFX + dependencies [TGZ] [ZIP] [TXT]
!> !> CLARFX applies a complex elementary reflector H to a complex m by n !> matrix C, from either the left or the right. H is represented in the !> form !> !> H = I - tau * v * v**H !> !> where tau is a complex scalar and v is a complex 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 COMPLEX array, dimension (M) if SIDE = 'L' !> or (N) if SIDE = 'R' !> The vector v in the representation of H. !> |
| [in] | TAU | !> TAU is COMPLEX !> The value tau in the representation of H. !> |
| [in,out] | C | !> C is COMPLEX 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 >= max(1,M). !> |
| [out] | WORK | !> WORK is COMPLEX array, dimension (N) if SIDE = 'L' !> or (M) if SIDE = 'R' !> WORK is not referenced if H has order < 11. !> |