Visible to Intel only — GUID: GUID-A63BB130-6652-478C-8F10-46E029E2261B
Visible to Intel only — GUID: GUID-A63BB130-6652-478C-8F10-46E029E2261B
?larz
Applies an elementary reflector (as returned by ?tzrzf) to a general matrix.
Syntax
call slarz( side, m, n, l, v, incv, tau, c, ldc, work )
call dlarz( side, m, n, l, v, incv, tau, c, ldc, work )
call clarz( side, m, n, l, v, incv, tau, c, ldc, work )
call zlarz( side, m, n, l, v, incv, tau, c, ldc, work )
Include Files
- mkl.fi
Description
The routine ?larz applies a real/complex elementary reflector H to a real/complex m-by-n matrix C, from either the left or the right. H is represented in the forms
H = I-tau*v*vT for real flavors and H = I-tau*v*vH for complex flavors,
where tau is a real/complex scalar and v is a real/complex vector, respectively.
If tau = 0, then H is taken to be the unit matrix.
For complex flavors, to apply HH (the conjugate transpose of H), supply conjg(tau) instead of tau.
H is a product of k elementary reflectors as returned by ?tzrzf.
Input Parameters
- side
-
CHARACTER*1.
If side = 'L': form H*C
If side = 'R': form C*H
- m
-
INTEGER. The number of rows of the matrix C.
- n
-
INTEGER. The number of columns of the matrix C.
- l
-
INTEGER. The number of entries of the vector v containing the meaningful part of the Householder vectors.
If side = 'L', m≥L≥ 0,
if side = 'R', n≥L≥ 0.
- v
-
REAL for slarz
DOUBLE PRECISION for dlarz
COMPLEX for clarz
DOUBLE COMPLEX for zlarz
Array, DIMENSION (1+(l-1)*abs(incv)).
The vector v in the representation of H as returned by ?tzrzf.
v is not used if tau = 0.
- incv
-
INTEGER. The increment between elements of v.
incv≠ 0.
- tau
-
REAL for slarz
DOUBLE PRECISION for dlarz
COMPLEX for clarz
DOUBLE COMPLEX for zlarz
The value tau in the representation of H.
- c
-
REAL for slarz
DOUBLE PRECISION for dlarz
COMPLEX for clarz
DOUBLE COMPLEX for zlarz
Array, DIMENSION (ldc,n).
On entry, the m-by-n matrix C.
- ldc
-
INTEGER. The leading dimension of the array c.
ldc≥ max(1,m).
- work
-
REAL for slarz
DOUBLE PRECISION for dlarz
COMPLEX for clarz
DOUBLE COMPLEX for zlarz
Workspace array, DIMENSION
(n) if side = 'L' or
(m) if side = 'R'.
Output Parameters
- c
-
On exit, C is overwritten by the matrix H*C if side = 'L', or C*H if side = 'R'.