Applies a block reflector or its transpose/conjugate-transpose to a general rectangular matrix.
call slarfb( side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork )
call dlarfb( side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork )
call clarfb( side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork )
call zlarfb( side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork )
The FORTRAN 77 interfaces are specified in the mkl_lapack.fi include file (to be used in Fortran programs) and in the mkl_lapack.h include file (to be used in C programs).
The routine ?larfb applies a complex block reflector H or its transpose H' to a complex m-by-n matrix C from either left or right.
CHARACTER*1.
If side = 'L': apply H or H' from the left
If side = 'R': apply H or H' from the right
CHARACTER*1.
If trans = 'N': apply H (No transpose)
If trans = 'C': apply H' (Conjugate transpose)
CHARACTER*1.
Indicates how H is formed from a product of elementary reflectors
If direct = 'F': H = H(1)*H(2)*. . . *H(k) (forward)
If direct = 'B': H = H(k)* . . . H(2)*H(1) (backward)
CHARACTER*1.
Indicates how the vectors which define the elementary reflectors are stored:
If storev = 'C': Column-wise
If storev = 'R': Row-wise
INTEGER. The number of rows of the matrix C.
INTEGER. The number of columns of the matrix C.
INTEGER. The order of the matrix T (equal to the number of elementary reflectors whose product defines the block reflector).
REAL for slarfb
DOUBLE PRECISION for dlarfb
COMPLEX for clarfb
COMPLEX*16 for zlarfb
Array, DIMENSION
(ldv, k) if storev = 'C'
(ldv, m) if storev = 'R' and side = 'L'
(ldv, n) if storev = 'R' and side = 'R'
The matrix v.
INTEGER. The leading dimension of the array v.
If storev = 'C' and side = 'L', ldv ≥ max(1,m);
if storev = 'C' and side = 'R', ldv ≥ max(1,n);
if storev = 'R', ldv ≥ k.
REAL for slarfb
DOUBLE PRECISION for dlarfb
COMPLEX for clarfb
COMPLEX*16 for zlarfb
Array, DIMENSION (ldt,k).
Contains the triangular k-by-k matrix T in the representation of the block reflector.
INTEGER. The leading dimension of the array t.
ldt ≥ k.
REAL for slarfb
DOUBLE PRECISION for dlarfb
COMPLEX for clarfb
COMPLEX*16 for zlarfb
Array, DIMENSION (ldc,n).
On entry, the m-by-n matrix C.
INTEGER. The leading dimension of the array c.
ldc ≥ max(1,m).
REAL for slarfb
DOUBLE PRECISION for dlarfb
COMPLEX for clarfb
COMPLEX*16 for zlarfb
Workspace array, DIMENSION (ldwork, k).
INTEGER. The leading dimension of the array work.
If side = 'L', ldwork ≥ max(1, n);
if side = 'R', ldwork ≥ max(1, m).
Copyright © 1994 - 2010, Intel Corporation. All rights reserved.