table of contents
larzb(3) | Library Functions Manual | larzb(3) |
NAME¶
larzb - larzb: apply block reflector
SYNOPSIS¶
Functions¶
subroutine CLARZB (side, trans, direct, storev, m, n, k, l,
v, ldv, t, ldt, c, ldc, work, ldwork)
CLARZB applies a block reflector or its conjugate-transpose to a
general matrix. subroutine DLARZB (side, trans, direct, storev, m, n,
k, l, v, ldv, t, ldt, c, ldc, work, ldwork)
DLARZB applies a block reflector or its transpose to a general matrix.
subroutine SLARZB (side, trans, direct, storev, m, n, k, l, v, ldv,
t, ldt, c, ldc, work, ldwork)
SLARZB applies a block reflector or its transpose to a general matrix.
subroutine ZLARZB (side, trans, direct, storev, m, n, k, l, v, ldv,
t, ldt, c, ldc, work, ldwork)
ZLARZB applies a block reflector or its conjugate-transpose to a
general matrix.
Detailed Description¶
Function Documentation¶
subroutine CLARZB (character side, character trans, character direct, character storev, integer m, integer n, integer k, integer l, complex, dimension( ldv, * ) v, integer ldv, complex, dimension( ldt, * ) t, integer ldt, complex, dimension( ldc, * ) c, integer ldc, complex, dimension( ldwork, * ) work, integer ldwork)¶
CLARZB applies a block reflector or its conjugate-transpose to a general matrix.
Purpose:
!> !> CLARZB applies a complex block reflector H or its transpose H**H !> to a complex distributed M-by-N C from the left or the right. !> !> Currently, only STOREV = 'R' and DIRECT = 'B' are supported. !>
Parameters
!> SIDE is CHARACTER*1 !> = 'L': apply H or H**H from the Left !> = 'R': apply H or H**H from the Right !>
TRANS
!> TRANS is CHARACTER*1 !> = 'N': apply H (No transpose) !> = 'C': apply H**H (Conjugate transpose) !>
DIRECT
!> DIRECT is CHARACTER*1 !> Indicates how H is formed from a product of elementary !> reflectors !> = 'F': H = H(1) H(2) . . . H(k) (Forward, not supported yet) !> = 'B': H = H(k) . . . H(2) H(1) (Backward) !>
STOREV
!> STOREV is CHARACTER*1 !> Indicates how the vectors which define the elementary !> reflectors are stored: !> = 'C': Columnwise (not supported yet) !> = 'R': Rowwise !>
M
!> M is INTEGER !> The number of rows of the matrix C. !>
N
!> N is INTEGER !> The number of columns of the matrix C. !>
K
!> K is INTEGER !> The order of the matrix T (= the number of elementary !> reflectors whose product defines the block reflector). !>
L
!> L is INTEGER !> The number of columns of the matrix V containing the !> meaningful part of the Householder reflectors. !> If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0. !>
V
!> V is COMPLEX array, dimension (LDV,NV). !> If STOREV = 'C', NV = K; if STOREV = 'R', NV = L. !>
LDV
!> LDV is INTEGER !> The leading dimension of the array V. !> If STOREV = 'C', LDV >= L; if STOREV = 'R', LDV >= K. !>
T
!> T is COMPLEX array, dimension (LDT,K) !> The triangular K-by-K matrix T in the representation of the !> block reflector. !>
LDT
!> LDT is INTEGER !> The leading dimension of the array T. LDT >= K. !>
C
!> C is COMPLEX array, dimension (LDC,N) !> On entry, the M-by-N matrix C. !> On exit, C is overwritten by H*C or H**H*C or C*H or C*H**H. !>
LDC
!> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,M). !>
WORK
!> WORK is COMPLEX array, dimension (LDWORK,K) !>
LDWORK
!> LDWORK is INTEGER !> The leading dimension of the array WORK. !> If SIDE = 'L', LDWORK >= max(1,N); !> if SIDE = 'R', LDWORK >= max(1,M). !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Further Details:
!>
Definition at line 181 of file clarzb.f.
subroutine DLARZB (character side, character trans, character direct, character storev, integer m, integer n, integer k, integer l, double precision, dimension( ldv, * ) v, integer ldv, double precision, dimension( ldt, * ) t, integer ldt, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension( ldwork, * ) work, integer ldwork)¶
DLARZB applies a block reflector or its transpose to a general matrix.
Purpose:
!> !> 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. !>
Parameters
!> SIDE is CHARACTER*1 !> = 'L': apply H or H**T from the Left !> = 'R': apply H or H**T from the Right !>
TRANS
!> TRANS is CHARACTER*1 !> = 'N': apply H (No transpose) !> = 'C': apply H**T (Transpose) !>
DIRECT
!> DIRECT is CHARACTER*1 !> Indicates how H is formed from a product of elementary !> reflectors !> = 'F': H = H(1) H(2) . . . H(k) (Forward, not supported yet) !> = 'B': H = H(k) . . . H(2) H(1) (Backward) !>
STOREV
!> STOREV is CHARACTER*1 !> Indicates how the vectors which define the elementary !> reflectors are stored: !> = 'C': Columnwise (not supported yet) !> = 'R': Rowwise !>
M
!> M is INTEGER !> The number of rows of the matrix C. !>
N
!> N is INTEGER !> The number of columns of the matrix C. !>
K
!> K is INTEGER !> The order of the matrix T (= the number of elementary !> reflectors whose product defines the block reflector). !>
L
!> L is INTEGER !> The number of columns of the matrix V containing the !> meaningful part of the Householder reflectors. !> If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0. !>
V
!> V is DOUBLE PRECISION array, dimension (LDV,NV). !> If STOREV = 'C', NV = K; if STOREV = 'R', NV = L. !>
LDV
!> LDV is INTEGER !> The leading dimension of the array V. !> If STOREV = 'C', LDV >= L; if STOREV = 'R', LDV >= K. !>
T
!> T is DOUBLE PRECISION array, dimension (LDT,K) !> The triangular K-by-K matrix T in the representation of the !> block reflector. !>
LDT
!> LDT is INTEGER !> The leading dimension of the array T. LDT >= K. !>
C
!> C is DOUBLE PRECISION array, dimension (LDC,N) !> On entry, the M-by-N matrix C. !> On exit, C is overwritten by H*C or H**T*C or C*H or C*H**T. !>
LDC
!> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,M). !>
WORK
!> WORK is DOUBLE PRECISION array, dimension (LDWORK,K) !>
LDWORK
!> LDWORK is INTEGER !> The leading dimension of the array WORK. !> If SIDE = 'L', LDWORK >= max(1,N); !> if SIDE = 'R', LDWORK >= max(1,M). !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Further Details:
!>
Definition at line 181 of file dlarzb.f.
subroutine SLARZB (character side, character trans, character direct, character storev, integer m, integer n, integer k, integer l, real, dimension( ldv, * ) v, integer ldv, real, dimension( ldt, * ) t, integer ldt, real, dimension( ldc, * ) c, integer ldc, real, dimension( ldwork, * ) work, integer ldwork)¶
SLARZB applies a block reflector or its transpose to a general matrix.
Purpose:
!> !> 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. !>
Parameters
!> SIDE is CHARACTER*1 !> = 'L': apply H or H**T from the Left !> = 'R': apply H or H**T from the Right !>
TRANS
!> TRANS is CHARACTER*1 !> = 'N': apply H (No transpose) !> = 'C': apply H**T (Transpose) !>
DIRECT
!> DIRECT is CHARACTER*1 !> Indicates how H is formed from a product of elementary !> reflectors !> = 'F': H = H(1) H(2) . . . H(k) (Forward, not supported yet) !> = 'B': H = H(k) . . . H(2) H(1) (Backward) !>
STOREV
!> STOREV is CHARACTER*1 !> Indicates how the vectors which define the elementary !> reflectors are stored: !> = 'C': Columnwise (not supported yet) !> = 'R': Rowwise !>
M
!> M is INTEGER !> The number of rows of the matrix C. !>
N
!> N is INTEGER !> The number of columns of the matrix C. !>
K
!> K is INTEGER !> The order of the matrix T (= the number of elementary !> reflectors whose product defines the block reflector). !>
L
!> L is INTEGER !> The number of columns of the matrix V containing the !> meaningful part of the Householder reflectors. !> If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0. !>
V
!> V is REAL array, dimension (LDV,NV). !> If STOREV = 'C', NV = K; if STOREV = 'R', NV = L. !>
LDV
!> LDV is INTEGER !> The leading dimension of the array V. !> If STOREV = 'C', LDV >= L; if STOREV = 'R', LDV >= K. !>
T
!> T is REAL array, dimension (LDT,K) !> The triangular K-by-K matrix T in the representation of the !> block reflector. !>
LDT
!> LDT is INTEGER !> The leading dimension of the array T. LDT >= K. !>
C
!> C is REAL array, dimension (LDC,N) !> On entry, the M-by-N matrix C. !> On exit, C is overwritten by H*C or H**T*C or C*H or C*H**T. !>
LDC
!> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,M). !>
WORK
!> WORK is REAL array, dimension (LDWORK,K) !>
LDWORK
!> LDWORK is INTEGER !> The leading dimension of the array WORK. !> If SIDE = 'L', LDWORK >= max(1,N); !> if SIDE = 'R', LDWORK >= max(1,M). !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Further Details:
!>
Definition at line 181 of file slarzb.f.
subroutine ZLARZB (character side, character trans, character direct, character storev, integer m, integer n, integer k, integer l, complex*16, dimension( ldv, * ) v, integer ldv, complex*16, dimension( ldt, * ) t, integer ldt, complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( ldwork, * ) work, integer ldwork)¶
ZLARZB applies a block reflector or its conjugate-transpose to a general matrix.
Purpose:
!> !> ZLARZB applies a complex block reflector H or its transpose H**H !> to a complex distributed M-by-N C from the left or the right. !> !> Currently, only STOREV = 'R' and DIRECT = 'B' are supported. !>
Parameters
!> SIDE is CHARACTER*1 !> = 'L': apply H or H**H from the Left !> = 'R': apply H or H**H from the Right !>
TRANS
!> TRANS is CHARACTER*1 !> = 'N': apply H (No transpose) !> = 'C': apply H**H (Conjugate transpose) !>
DIRECT
!> DIRECT is CHARACTER*1 !> Indicates how H is formed from a product of elementary !> reflectors !> = 'F': H = H(1) H(2) . . . H(k) (Forward, not supported yet) !> = 'B': H = H(k) . . . H(2) H(1) (Backward) !>
STOREV
!> STOREV is CHARACTER*1 !> Indicates how the vectors which define the elementary !> reflectors are stored: !> = 'C': Columnwise (not supported yet) !> = 'R': Rowwise !>
M
!> M is INTEGER !> The number of rows of the matrix C. !>
N
!> N is INTEGER !> The number of columns of the matrix C. !>
K
!> K is INTEGER !> The order of the matrix T (= the number of elementary !> reflectors whose product defines the block reflector). !>
L
!> L is INTEGER !> The number of columns of the matrix V containing the !> meaningful part of the Householder reflectors. !> If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0. !>
V
!> V is COMPLEX*16 array, dimension (LDV,NV). !> If STOREV = 'C', NV = K; if STOREV = 'R', NV = L. !>
LDV
!> LDV is INTEGER !> The leading dimension of the array V. !> If STOREV = 'C', LDV >= L; if STOREV = 'R', LDV >= K. !>
T
!> T is COMPLEX*16 array, dimension (LDT,K) !> The triangular K-by-K matrix T in the representation of the !> block reflector. !>
LDT
!> LDT is INTEGER !> The leading dimension of the array T. LDT >= K. !>
C
!> C is COMPLEX*16 array, dimension (LDC,N) !> On entry, the M-by-N matrix C. !> On exit, C is overwritten by H*C or H**H*C or C*H or C*H**H. !>
LDC
!> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,M). !>
WORK
!> WORK is COMPLEX*16 array, dimension (LDWORK,K) !>
LDWORK
!> LDWORK is INTEGER !> The leading dimension of the array WORK. !> If SIDE = 'L', LDWORK >= max(1,N); !> if SIDE = 'R', LDWORK >= max(1,M). !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Further Details:
!>
Definition at line 181 of file zlarzb.f.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 | LAPACK |