slarzb - 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 SLARZB( 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 REAL V(LDV,*), T(LDT,*), C(LDC,*), WORK(LDWORK,*)
SUBROUTINE SLARZB_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 REAL 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, 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, DIMENSION(:,:) :: V, T, C, WORK
#include <sunperf.h>
void slarzb(char side, char trans, char direct, char storev, int m, int n, int k, int l, float *v, int ldv, float *t, int ldt, float *c, int ldc, int ldwork);
void slarzb_64(char side, char trans, char direct, char storev, long m, long n, long k, long l, float *v, long ldv, float *t, long ldt, float *c, long ldc, long ldwork);
slarzb 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