dlarzb - applies a real block reflector H or its transpose H**T to a real distributed M-by-N C from the left or the right
SUBROUTINE DLARZB( SIDE, TRANS, DIRECT, STOREV, M, N, K, L, V, LDV, * T, LDT, C, LDC, WORK, LDWORK) CHARACTER * 1 SIDE, TRANS, DIRECT, STOREV INTEGER M, N, K, L, LDV, LDT, LDC, LDWORK DOUBLE PRECISION V(LDV,*), T(LDT,*), C(LDC,*), WORK(LDWORK,*)
SUBROUTINE DLARZB_64( SIDE, TRANS, DIRECT, STOREV, M, N, K, L, V, * LDV, T, LDT, C, LDC, WORK, LDWORK) CHARACTER * 1 SIDE, TRANS, DIRECT, STOREV INTEGER*8 M, N, K, L, LDV, LDT, LDC, LDWORK DOUBLE PRECISION V(LDV,*), T(LDT,*), C(LDC,*), WORK(LDWORK,*)
SUBROUTINE LARZB( SIDE, TRANS, DIRECT, STOREV, [M], [N], K, L, V, * [LDV], T, [LDT], C, [LDC], [WORK], [LDWORK]) CHARACTER(LEN=1) :: SIDE, TRANS, DIRECT, STOREV INTEGER :: M, N, K, L, LDV, LDT, LDC, LDWORK REAL(8), DIMENSION(:,:) :: V, T, C, WORK
SUBROUTINE LARZB_64( SIDE, TRANS, DIRECT, STOREV, [M], [N], K, L, V, * [LDV], T, [LDT], C, [LDC], [WORK], [LDWORK]) CHARACTER(LEN=1) :: SIDE, TRANS, DIRECT, STOREV INTEGER(8) :: M, N, K, L, LDV, LDT, LDC, LDWORK REAL(8), DIMENSION(:,:) :: V, T, C, WORK
#include <sunperf.h>
void dlarzb(char side, char trans, char direct, char storev, int m, int n, int k, int l, double *v, int ldv, double *t, int ldt, double *c, int ldc, int ldwork);
void dlarzb_64(char side, char trans, char direct, char storev, long m, long n, long k, long l, double *v, long ldv, double *t, long ldt, double *c, long ldc, long ldwork);
dlarzb applies a real block reflector H or its transpose H**T to a real distributed M-by-N C from the left or the right.
Currently, only STOREV = 'R' and DIRECT = 'B' are supported.
= 'L': apply H or H' from the Left
= 'R': apply H or H' from the Right
= 'N': apply H (No transpose)
= 'C': apply H' (Transpose)
H(1)
H(2)
. . . H(k)
(Forward, not supported yet)
= 'B': H = H(k) . . . H(2) H(1) (Backward)
= 'C': Columnwise (not supported yet)
= 'R': Rowwise
dimension(MAX(M,N),K)
Based on contributions by
A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA