larf#
Functions
-
void slarf(const char *side, const INT m, const INT n, const f32 *restrict v, const INT incv, const f32 tau, f32 *restrict C, const INT ldc, f32 *restrict work)#
SLARF 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.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCDouble precision array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void slarf(
const char* side,
const INT m,
const INT n,
const f32* restrict v,
const INT incv,
const f32 tau,
f32* restrict C,
const INT ldc,
f32* restrict work
);
Functions
-
void slarf1f(const char *side, const INT m, const INT n, const f32 *restrict v, const INT incv, const f32 tau, f32 *restrict C, const INT ldc, f32 *restrict work)#
SLARF1F 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, with v(1) = 1 (not stored).H = I - tau * v * v**T
If tau = 0, then H is taken to be the unit matrix.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. v(0) is not referenced (implicitly 1). Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCDouble precision array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void slarf1f(
const char* side,
const INT m,
const INT n,
const f32* restrict v,
const INT incv,
const f32 tau,
f32* restrict C,
const INT ldc,
f32* restrict work
);
Functions
-
void slarf1l(const char *side, const INT m, const INT n, const f32 *restrict v, const INT incv, const f32 tau, f32 *restrict C, const INT ldc, f32 *restrict work)#
SLARF1L 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, with v(lastv) = 1 (where lastv is the last non-zero element).H = I - tau * v * v**T
If tau = 0, then H is taken to be the unit matrix.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCDouble precision array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void slarf1l(
const char* side,
const INT m,
const INT n,
const f32* restrict v,
const INT incv,
const f32 tau,
f32* restrict C,
const INT ldc,
f32* restrict work
);
Functions
-
void dlarf(const char *side, const INT m, const INT n, const f64 *restrict v, const INT incv, const f64 tau, f64 *restrict C, const INT ldc, f64 *restrict work)#
DLARF 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.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCDouble precision array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void dlarf(
const char* side,
const INT m,
const INT n,
const f64* restrict v,
const INT incv,
const f64 tau,
f64* restrict C,
const INT ldc,
f64* restrict work
);
Functions
-
void dlarf1f(const char *side, const INT m, const INT n, const f64 *restrict v, const INT incv, const f64 tau, f64 *restrict C, const INT ldc, f64 *restrict work)#
DLARF1F 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, with v(1) = 1 (not stored).H = I - tau * v * v**T
If tau = 0, then H is taken to be the unit matrix.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. v(0) is not referenced (implicitly 1). Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCDouble precision array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void dlarf1f(
const char* side,
const INT m,
const INT n,
const f64* restrict v,
const INT incv,
const f64 tau,
f64* restrict C,
const INT ldc,
f64* restrict work
);
Functions
-
void dlarf1l(const char *side, const INT m, const INT n, const f64 *restrict v, const INT incv, const f64 tau, f64 *restrict C, const INT ldc, f64 *restrict work)#
DLARF1L 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, with v(lastv) = 1 (where lastv is the last non-zero element).H = I - tau * v * v**T
If tau = 0, then H is taken to be the unit matrix.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCDouble precision array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void dlarf1l(
const char* side,
const INT m,
const INT n,
const f64* restrict v,
const INT incv,
const f64 tau,
f64* restrict C,
const INT ldc,
f64* restrict work
);
Functions
-
void clarf(const char *side, const INT m, const INT n, const c64 *restrict v, const INT incv, const c64 tau, c64 *restrict C, const INT ldc, c64 *restrict work)#
CLARF 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.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCSingle complex array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void clarf(
const char* side,
const INT m,
const INT n,
const c64* restrict v,
const INT incv,
const c64 tau,
c64* restrict C,
const INT ldc,
c64* restrict work
);
Functions
-
void clarf1f(const char *side, const INT m, const INT n, const c64 *restrict v, const INT incv, const c64 tau, c64 *restrict C, const INT ldc, c64 *restrict work)#
CLARF1F 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, with v(1) = 1 (not stored).H = I - tau * v * v**H
If tau = 0, then H is taken to be the unit matrix.
To apply H**H, supply conjg(tau) instead tau.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. v(0) is not referenced (implicitly 1). Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCComplex array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void clarf1f(
const char* side,
const INT m,
const INT n,
const c64* restrict v,
const INT incv,
const c64 tau,
c64* restrict C,
const INT ldc,
c64* restrict work
);
Functions
-
void clarf1l(const char *side, const INT m, const INT n, const c64 *restrict v, const INT incv, const c64 tau, c64 *restrict C, const INT ldc, c64 *restrict work)#
CLARF1L 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, with v(lastv) = 1 (where lastv is the last non-zero element).H = I - tau * v * v**H
If tau = 0, then H is taken to be the unit matrix.
To apply H**H (the conjugate transpose of H), supply conjg(tau) instead tau.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv > 0.
intauThe value tau in the representation of H.
inoutCComplex array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void clarf1l(
const char* side,
const INT m,
const INT n,
const c64* restrict v,
const INT incv,
const c64 tau,
c64* restrict C,
const INT ldc,
c64* restrict work
);
Functions
-
void zlarf(const char *side, const INT m, const INT n, const c128 *restrict v, const INT incv, const c128 tau, c128 *restrict C, const INT ldc, c128 *restrict work)#
ZLARF 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.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCDouble complex array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void zlarf(
const char* side,
const INT m,
const INT n,
const c128* restrict v,
const INT incv,
const c128 tau,
c128* restrict C,
const INT ldc,
c128* restrict work
);
Functions
-
void zlarf1f(const char *side, const INT m, const INT n, const c128 *restrict v, const INT incv, const c128 tau, c128 *restrict C, const INT ldc, c128 *restrict work)#
ZLARF1F 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, with v(1) = 1 (not stored).H = I - tau * v * v**H
If tau = 0, then H is taken to be the unit matrix.
To apply H**H, supply conjg(tau) instead tau.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. v(0) is not referenced (implicitly 1). Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv != 0.
intauThe value tau in the representation of H.
inoutCComplex array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void zlarf1f(
const char* side,
const INT m,
const INT n,
const c128* restrict v,
const INT incv,
const c128 tau,
c128* restrict C,
const INT ldc,
c128* restrict work
);
Functions
-
void zlarf1l(const char *side, const INT m, const INT n, const c128 *restrict v, const INT incv, const c128 tau, c128 *restrict C, const INT ldc, c128 *restrict work)#
ZLARF1L 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, with v(lastv) = 1 (where lastv is the last non-zero element).H = I - tau * v * v**H
If tau = 0, then H is taken to be the unit matrix.
To apply H**H (the conjugate transpose of H), supply conjg(tau) instead tau.
Parameters
inside‘L’: form H * C; ‘R’: form C * H
inmThe number of rows of C.
innThe number of columns of C.
invThe vector v in the representation of H. Dimension (1+(m-1)*|incv|) if side=’L’, or (1+(n-1)*|incv|) if side=’R’.
inincvThe increment between elements of v. incv > 0.
intauThe value tau in the representation of H.
inoutCComplex array, dimension (ldc, n). On exit, overwritten by H*C or C*H.
inldcThe leading dimension of C. ldc >= max(1, m).
outworkWorkspace, dimension (n) if side=’L’, (m) if side=’R’.
void zlarf1l(
const char* side,
const INT m,
const INT n,
const c128* restrict v,
const INT incv,
const c128 tau,
c128* restrict C,
const INT ldc,
c128* restrict work
);