larfx#
Functions
-
void slarfx(const char *side, const INT m, const INT n, const f32 *restrict v, const f32 tau, f32 *restrict C, const INT ldc, f32 *restrict work)#
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
where tau is a real scalar and v is a real vector.H = I - tau * v * v**T
If tau = 0, then H is taken to be the unit matrix.
This version uses inline code if H has order < 11.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of the matrix C.
innThe number of columns of the matrix C.
invThe vector v in the representation of H. Dimension (m) if side = “L”, or (n) if side = ‘R’.
intauThe value tau in the representation of H.
inoutCDouble precision array, dimension (ldc, n). On entry, the m by n matrix C. On exit, C is overwritten by H * C if side = “L”, or C * H if side = ‘R’.
inldcThe leading dimension of the array C. ldc >= max(1, m).
outworkDouble precision array, dimension (n) if side = “L”, or (m) if side = ‘R’. Not referenced if H has order < 11.
void slarfx(
const char* side,
const INT m,
const INT n,
const f32* restrict v,
const f32 tau,
f32* restrict C,
const INT ldc,
f32* restrict work
);
Functions
-
void dlarfx(const char *side, const INT m, const INT n, const f64 *restrict v, const f64 tau, f64 *restrict C, const INT ldc, f64 *restrict work)#
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
where tau is a real scalar and v is a real vector.H = I - tau * v * v**T
If tau = 0, then H is taken to be the unit matrix.
This version uses inline code if H has order < 11.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of the matrix C.
innThe number of columns of the matrix C.
invThe vector v in the representation of H. Dimension (m) if side = “L”, or (n) if side = ‘R’.
intauThe value tau in the representation of H.
inoutCDouble precision array, dimension (ldc, n). On entry, the m by n matrix C. On exit, C is overwritten by H * C if side = “L”, or C * H if side = ‘R’.
inldcThe leading dimension of the array C. ldc >= max(1, m).
outworkDouble precision array, dimension (n) if side = “L”, or (m) if side = ‘R’. Not referenced if H has order < 11.
void dlarfx(
const char* side,
const INT m,
const INT n,
const f64* restrict v,
const f64 tau,
f64* restrict C,
const INT ldc,
f64* restrict work
);
Functions
-
void clarfx(const char *side, const INT m, const INT n, const c64 *restrict v, const c64 tau, c64 *restrict C, const INT ldc, c64 *restrict work)#
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
where tau is a complex scalar and v is a complex vector.H = I - tau * v * v**H
If tau = 0, then H is taken to be the unit matrix.
This version uses inline code if H has order < 11.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of the matrix C.
innThe number of columns of the matrix C.
invThe vector v in the representation of H. Dimension (m) if side = “L”, or (n) if side = ‘R’.
intauThe value tau in the representation of H.
inoutCComplex array, dimension (ldc, n). On entry, the m by n matrix C. On exit, C is overwritten by H * C if side = “L”, or C * H if side = ‘R’.
inldcThe leading dimension of the array C. ldc >= max(1, m).
outworkComplex array, dimension (n) if side = “L”, or (m) if side = ‘R’. Not referenced if H has order < 11.
void clarfx(
const char* side,
const INT m,
const INT n,
const c64* restrict v,
const c64 tau,
c64* restrict C,
const INT ldc,
c64* restrict work
);
Functions
-
void zlarfx(const char *side, const INT m, const INT n, const c128 *restrict v, const c128 tau, c128 *restrict C, const INT ldc, c128 *restrict work)#
ZLARFX 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
where tau is a complex scalar and v is a complex vector.H = I - tau * v * v**H
If tau = 0, then H is taken to be the unit matrix.
This version uses inline code if H has order < 11.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of the matrix C.
innThe number of columns of the matrix C.
invThe vector v in the representation of H. Dimension (m) if side = “L”, or (n) if side = ‘R’.
intauThe value tau in the representation of H.
inoutCComplex array, dimension (ldc, n). On entry, the m by n matrix C. On exit, C is overwritten by H * C if side = “L”, or C * H if side = ‘R’.
inldcThe leading dimension of the array C. ldc >= max(1, m).
outworkComplex array, dimension (n) if side = “L”, or (m) if side = ‘R’. Not referenced if H has order < 11.
void zlarfx(
const char* side,
const INT m,
const INT n,
const c128* restrict v,
const c128 tau,
c128* restrict C,
const INT ldc,
c128* restrict work
);