tprfb#
Functions
-
void stprfb(const char *side, const char *trans, const char *direct, const char *storev, const INT m, const INT n, const INT k, const INT l, const f32 *restrict V, const INT ldv, const f32 *restrict T, const INT ldt, f32 *restrict A, const INT lda, f32 *restrict B, const INT ldb, f32 *restrict work, const INT ldwork)#
STPRFB applies a real “triangular-pentagonal” block reflector H or its transpose H**T to a real matrix C, which is composed of two blocks A and B, either from the left or right.
Parameters
inside‘L’: apply H or H**T from the Left; ‘R’: apply H or H**T from the Right.
intrans‘N’: apply H (No transpose); ‘T’: apply H**T (Transpose).
indirectIndicates how H is formed from a product of elementary reflectors: ‘F’: H = H(1) H(2) … H(k) (Forward); ‘B’: H = H(k) … H(2) H(1) (Backward).
instorevIndicates how the vectors which define the elementary reflectors are stored: ‘C’: Columns; ‘R’: Rows.
inmThe number of rows of the matrix B. m >= 0.
innThe number of columns of the matrix B. n >= 0.
inkThe order of the matrix T, i.e. the number of elementary reflectors whose product defines the block reflector. k >= 0.
inlThe order of the trapezoidal part of V. k >= l >= 0. See Further Details.
inVThe pentagonal matrix V, which contains the elementary reflectors H(1), H(2), …, H(k).
inldvThe leading dimension of V.
inTThe triangular k-by-k matrix T in the representation of the block reflector.
inldtThe leading dimension of T. ldt >= k.
inoutAOn entry, the k-by-n or m-by-k matrix A. On exit, A is overwritten by the corresponding block of H*C or H**T*C or C*H or C*H**T.
inldaThe leading dimension of A.
inoutBOn entry, the m-by-n matrix B. On exit, B is overwritten by the corresponding block of H*C or H**T*C or C*H or C*H**T.
inldbThe leading dimension of B. ldb >= max(1,m).
outworkWorkspace array.
inldworkThe leading dimension of work.
void stprfb(
const char* side,
const char* trans,
const char* direct,
const char* storev,
const INT m,
const INT n,
const INT k,
const INT l,
const f32* restrict V,
const INT ldv,
const f32* restrict T,
const INT ldt,
f32* restrict A,
const INT lda,
f32* restrict B,
const INT ldb,
f32* restrict work,
const INT ldwork
);
Functions
-
void dtprfb(const char *side, const char *trans, const char *direct, const char *storev, const INT m, const INT n, const INT k, const INT l, const f64 *restrict V, const INT ldv, const f64 *restrict T, const INT ldt, f64 *restrict A, const INT lda, f64 *restrict B, const INT ldb, f64 *restrict work, const INT ldwork)#
DTPRFB applies a real “triangular-pentagonal” block reflector H or its transpose H**T to a real matrix C, which is composed of two blocks A and B, either from the left or right.
Parameters
inside‘L’: apply H or H**T from the Left; ‘R’: apply H or H**T from the Right.
intrans‘N’: apply H (No transpose); ‘T’: apply H**T (Transpose).
indirectIndicates how H is formed from a product of elementary reflectors: ‘F’: H = H(1) H(2) … H(k) (Forward); ‘B’: H = H(k) … H(2) H(1) (Backward).
instorevIndicates how the vectors which define the elementary reflectors are stored: ‘C’: Columns; ‘R’: Rows.
inmThe number of rows of the matrix B. m >= 0.
innThe number of columns of the matrix B. n >= 0.
inkThe order of the matrix T, i.e. the number of elementary reflectors whose product defines the block reflector. k >= 0.
inlThe order of the trapezoidal part of V. k >= l >= 0. See Further Details.
inVThe pentagonal matrix V, which contains the elementary reflectors H(1), H(2), …, H(k).
inldvThe leading dimension of V.
inTThe triangular k-by-k matrix T in the representation of the block reflector.
inldtThe leading dimension of T. ldt >= k.
inoutAOn entry, the k-by-n or m-by-k matrix A. On exit, A is overwritten by the corresponding block of H*C or H**T*C or C*H or C*H**T.
inldaThe leading dimension of A.
inoutBOn entry, the m-by-n matrix B. On exit, B is overwritten by the corresponding block of H*C or H**T*C or C*H or C*H**T.
inldbThe leading dimension of B. ldb >= max(1,m).
outworkWorkspace array.
inldworkThe leading dimension of work.
void dtprfb(
const char* side,
const char* trans,
const char* direct,
const char* storev,
const INT m,
const INT n,
const INT k,
const INT l,
const f64* restrict V,
const INT ldv,
const f64* restrict T,
const INT ldt,
f64* restrict A,
const INT lda,
f64* restrict B,
const INT ldb,
f64* restrict work,
const INT ldwork
);
Functions
-
void ctprfb(const char *side, const char *trans, const char *direct, const char *storev, const INT m, const INT n, const INT k, const INT l, const c64 *restrict V, const INT ldv, const c64 *restrict T, const INT ldt, c64 *restrict A, const INT lda, c64 *restrict B, const INT ldb, c64 *restrict work, const INT ldwork)#
CTPRFB applies a complex “triangular-pentagonal” block reflector H or its conjugate transpose H**H to a complex matrix C, which is composed of two blocks A and B, either from the left or right.
Parameters
inside‘L’: apply H or H**H from the Left; ‘R’: apply H or H**H from the Right.
intrans‘N’: apply H (No transpose); ‘C’: apply H**H (Conjugate transpose).
indirectIndicates how H is formed from a product of elementary reflectors: ‘F’: H = H(1) H(2) … H(k) (Forward); ‘B’: H = H(k) … H(2) H(1) (Backward).
instorevIndicates how the vectors which define the elementary reflectors are stored: ‘C’: Columns; ‘R’: Rows.
inmThe number of rows of the matrix B. m >= 0.
innThe number of columns of the matrix B. n >= 0.
inkThe order of the matrix T, i.e. the number of elementary reflectors whose product defines the block reflector. k >= 0.
inlThe order of the trapezoidal part of V. k >= l >= 0. See Further Details.
inVThe pentagonal matrix V, which contains the elementary reflectors H(1), H(2), …, H(k).
inldvThe leading dimension of V.
inTThe triangular k-by-k matrix T in the representation of the block reflector.
inldtThe leading dimension of T. ldt >= k.
inoutAOn entry, the k-by-n or m-by-k matrix A. On exit, A is overwritten by the corresponding block of H*C or H**H*C or C*H or C*H**H.
inldaThe leading dimension of A.
inoutBOn entry, the m-by-n matrix B. On exit, B is overwritten by the corresponding block of H*C or H**H*C or C*H or C*H**H.
inldbThe leading dimension of B. ldb >= max(1,m).
outworkWorkspace array.
inldworkThe leading dimension of work.
void ctprfb(
const char* side,
const char* trans,
const char* direct,
const char* storev,
const INT m,
const INT n,
const INT k,
const INT l,
const c64* restrict V,
const INT ldv,
const c64* restrict T,
const INT ldt,
c64* restrict A,
const INT lda,
c64* restrict B,
const INT ldb,
c64* restrict work,
const INT ldwork
);
Functions
-
void ztprfb(const char *side, const char *trans, const char *direct, const char *storev, const INT m, const INT n, const INT k, const INT l, const c128 *restrict V, const INT ldv, const c128 *restrict T, const INT ldt, c128 *restrict A, const INT lda, c128 *restrict B, const INT ldb, c128 *restrict work, const INT ldwork)#
ZTPRFB applies a complex “triangular-pentagonal” block reflector H or its conjugate transpose H**H to a complex matrix C, which is composed of two blocks A and B, either from the left or right.
Parameters
inside‘L’: apply H or H**H from the Left; ‘R’: apply H or H**H from the Right.
intrans‘N’: apply H (No transpose); ‘C’: apply H**H (Conjugate transpose).
indirectIndicates how H is formed from a product of elementary reflectors: ‘F’: H = H(1) H(2) … H(k) (Forward); ‘B’: H = H(k) … H(2) H(1) (Backward).
instorevIndicates how the vectors which define the elementary reflectors are stored: ‘C’: Columns; ‘R’: Rows.
inmThe number of rows of the matrix B. m >= 0.
innThe number of columns of the matrix B. n >= 0.
inkThe order of the matrix T, i.e. the number of elementary reflectors whose product defines the block reflector. k >= 0.
inlThe order of the trapezoidal part of V. k >= l >= 0. See Further Details.
inVThe pentagonal matrix V, which contains the elementary reflectors H(1), H(2), …, H(k).
inldvThe leading dimension of V.
inTThe triangular k-by-k matrix T in the representation of the block reflector.
inldtThe leading dimension of T. ldt >= k.
inoutAOn entry, the k-by-n or m-by-k matrix A. On exit, A is overwritten by the corresponding block of H*C or H**H*C or C*H or C*H**H.
inldaThe leading dimension of A.
inoutBOn entry, the m-by-n matrix B. On exit, B is overwritten by the corresponding block of H*C or H**H*C or C*H or C*H**H.
inldbThe leading dimension of B. ldb >= max(1,m).
outworkWorkspace array.
inldworkThe leading dimension of work.
void ztprfb(
const char* side,
const char* trans,
const char* direct,
const char* storev,
const INT m,
const INT n,
const INT k,
const INT l,
const c128* restrict V,
const INT ldv,
const c128* restrict T,
const INT ldt,
c128* restrict A,
const INT lda,
c128* restrict B,
const INT ldb,
c128* restrict work,
const INT ldwork
);