Provided by: liblapack-doc_3.12.1-6build1_all 

NAME
larf - larf: apply Householder reflector
SYNOPSIS
Functions
subroutine clarf (side, m, n, v, incv, tau, c, ldc, work)
CLARF applies an elementary reflector to a general rectangular matrix.
subroutine dlarf (side, m, n, v, incv, tau, c, ldc, work)
DLARF applies an elementary reflector to a general rectangular matrix.
subroutine dlarf1f (side, m, n, v, incv, tau, c, ldc, work)
DLARF1F applies an elementary reflector to a general rectangular
subroutine dlarf1l (side, m, n, v, incv, tau, c, ldc, work)
DLARF1L applies an elementary reflector to a general rectangular
subroutine slarf (side, m, n, v, incv, tau, c, ldc, work)
SLARF applies an elementary reflector to a general rectangular matrix.
subroutine zlarf (side, m, n, v, incv, tau, c, ldc, work)
ZLARF applies an elementary reflector to a general rectangular matrix.
subroutine zlarf1f (side, m, n, v, incv, tau, c, ldc, work)
ZLARF1F applies an elementary reflector to a general rectangular
Detailed Description
Function Documentation
subroutine clarf (character side, integer m, integer n, complex, dimension( * ) v, integer incv, complex tau,
complex, dimension( ldc, * ) c, integer ldc, complex, dimension( * ) work)
CLARF applies an elementary reflector to a general rectangular matrix.
Purpose:
CLARF applies a complex elementary reflector H to a complex M-by-N
matrix C, from either the left or the right. H is represented in the
form
H = I - tau * v * v**H
where tau is a complex scalar and v is a complex vector.
If tau = 0, then H is taken to be the unit matrix.
To apply H**H (the conjugate transpose of H), supply conjg(tau) instead
tau.
Parameters
SIDE
SIDE is CHARACTER*1
= 'L': form H * C
= 'R': form C * H
M
M is INTEGER
The number of rows of the matrix C.
N
N is INTEGER
The number of columns of the matrix C.
V
V is COMPLEX array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L'
or (1 + (N-1)*abs(INCV)) if SIDE = 'R'
The vector v in the representation of H. V is not used if
TAU = 0.
INCV
INCV is INTEGER
The increment between elements of v. INCV <> 0.
TAU
TAU is COMPLEX
The value tau in the representation of H.
C
C is COMPLEX array, dimension (LDC,N)
On entry, the M-by-N matrix C.
On exit, C is overwritten by the matrix H * C if SIDE = 'L',
or C * H if SIDE = 'R'.
LDC
LDC is INTEGER
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is COMPLEX array, dimension
(N) if SIDE = 'L'
or (M) if SIDE = 'R'
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine dlarf (character side, integer m, integer n, double precision, dimension( * ) v, integer incv,
double precision tau, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension(
* ) work)
DLARF applies an elementary reflector to a general rectangular matrix.
Purpose:
DLARF applies a real elementary reflector H to a real m by n matrix
C, from either the left or the right. H is represented in the form
H = I - tau * v * v**T
where tau is a real scalar and v is a real vector.
If tau = 0, then H is taken to be the unit matrix.
Parameters
SIDE
SIDE is CHARACTER*1
= 'L': form H * C
= 'R': form C * H
M
M is INTEGER
The number of rows of the matrix C.
N
N is INTEGER
The number of columns of the matrix C.
V
V is DOUBLE PRECISION array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L'
or (1 + (N-1)*abs(INCV)) if SIDE = 'R'
The vector v in the representation of H. V is not used if
TAU = 0.
INCV
INCV is INTEGER
The increment between elements of v. INCV <> 0.
TAU
TAU is DOUBLE PRECISION
The value tau in the representation of H.
C
C is DOUBLE PRECISION array, dimension (LDC,N)
On entry, the m by n matrix C.
On exit, C is overwritten by the matrix H * C if SIDE = 'L',
or C * H if SIDE = 'R'.
LDC
LDC is INTEGER
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is DOUBLE PRECISION array, dimension
(N) if SIDE = 'L'
or (M) if SIDE = 'R'
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine dlarf1f (character side, integer m, integer n, double precision, dimension( * ) v, integer incv,
double precision tau, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension(
* ) work)
DLARF1F applies an elementary reflector to a general rectangular
Purpose:
DLARF1F applies a real elementary reflector H to a real m by n matrix
C, from either the left or the right. H is represented in the form
H = I - tau * v * v**T
where tau is a real scalar and v is a real vector.
If tau = 0, then H is taken to be the unit matrix.
Parameters
SIDE
SIDE is CHARACTER*1
= 'L': form H * C
= 'R': form C * H
M
M is INTEGER
The number of rows of the matrix C.
N
N is INTEGER
The number of columns of the matrix C.
V
V is DOUBLE PRECISION array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L'
or (1 + (N-1)*abs(INCV)) if SIDE = 'R'
The vector v in the representation of H. V is not used if
TAU = 0. V(1) is not referenced or modified.
INCV
INCV is INTEGER
The increment between elements of v. INCV <> 0.
TAU
TAU is DOUBLE PRECISION
The value tau in the representation of H.
C
C is DOUBLE PRECISION array, dimension (LDC,N)
On entry, the m by n matrix C.
On exit, C is overwritten by the matrix H * C if SIDE = 'L',
or C * H if SIDE = 'R'.
LDC
LDC is INTEGER
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is DOUBLE PRECISION array, dimension
(N) if SIDE = 'L'
or (M) if SIDE = 'R'
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine dlarf1l (character side, integer m, integer n, double precision, dimension( * ) v, integer incv,
double precision tau, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension(
* ) work)
DLARF1L applies an elementary reflector to a general rectangular
Purpose:
DLARF1L applies a real elementary reflector H to a real m by n matrix
C, from either the left or the right. H is represented in the form
H = I - tau * v * v**T
where tau is a real scalar and v is a real vector.
If tau = 0, then H is taken to be the unit matrix.
Parameters
SIDE
SIDE is CHARACTER*1
= 'L': form H * C
= 'R': form C * H
M
M is INTEGER
The number of rows of the matrix C.
N
N is INTEGER
The number of columns of the matrix C.
V
V is DOUBLE PRECISION array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L'
or (1 + (N-1)*abs(INCV)) if SIDE = 'R'
The vector v in the representation of H. V is not used if
TAU = 0.
INCV
INCV is INTEGER
The increment between elements of v. INCV <> 0.
TAU
TAU is DOUBLE PRECISION
The value tau in the representation of H.
C
C is DOUBLE PRECISION array, dimension (LDC,N)
On entry, the m by n matrix C.
On exit, C is overwritten by the matrix H * C if SIDE = 'L',
or C * H if SIDE = 'R'.
LDC
LDC is INTEGER
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is DOUBLE PRECISION array, dimension
(N) if SIDE = 'L'
or (M) if SIDE = 'R'
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine slarf (character side, integer m, integer n, real, dimension( * ) v, integer incv, real tau, real,
dimension( ldc, * ) c, integer ldc, real, dimension( * ) work)
SLARF applies an elementary reflector to a general rectangular matrix.
Purpose:
SLARF applies a real elementary reflector H to a real m by n matrix
C, from either the left or the right. H is represented in the form
H = I - tau * v * v**T
where tau is a real scalar and v is a real vector.
If tau = 0, then H is taken to be the unit matrix.
Parameters
SIDE
SIDE is CHARACTER*1
= 'L': form H * C
= 'R': form C * H
M
M is INTEGER
The number of rows of the matrix C.
N
N is INTEGER
The number of columns of the matrix C.
V
V is REAL array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L'
or (1 + (N-1)*abs(INCV)) if SIDE = 'R'
The vector v in the representation of H. V is not used if
TAU = 0.
INCV
INCV is INTEGER
The increment between elements of v. INCV <> 0.
TAU
TAU is REAL
The value tau in the representation of H.
C
C is REAL array, dimension (LDC,N)
On entry, the m by n matrix C.
On exit, C is overwritten by the matrix H * C if SIDE = 'L',
or C * H if SIDE = 'R'.
LDC
LDC is INTEGER
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is REAL array, dimension
(N) if SIDE = 'L'
or (M) if SIDE = 'R'
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine zlarf (character side, integer m, integer n, complex*16, dimension( * ) v, integer incv,
complex*16 tau, complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( * ) work)
ZLARF applies an elementary reflector to a general rectangular matrix.
Purpose:
ZLARF applies a complex elementary reflector H to a complex M-by-N
matrix C, from either the left or the right. H is represented in the
form
H = I - tau * v * v**H
where tau is a complex scalar and v is a complex vector.
If tau = 0, then H is taken to be the unit matrix.
To apply H**H, supply conjg(tau) instead
tau.
Parameters
SIDE
SIDE is CHARACTER*1
= 'L': form H * C
= 'R': form C * H
M
M is INTEGER
The number of rows of the matrix C.
N
N is INTEGER
The number of columns of the matrix C.
V
V is COMPLEX*16 array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L'
or (1 + (N-1)*abs(INCV)) if SIDE = 'R'
The vector v in the representation of H. V is not used if
TAU = 0.
INCV
INCV is INTEGER
The increment between elements of v. INCV <> 0.
TAU
TAU is COMPLEX*16
The value tau in the representation of H.
C
C is COMPLEX*16 array, dimension (LDC,N)
On entry, the M-by-N matrix C.
On exit, C is overwritten by the matrix H * C if SIDE = 'L',
or C * H if SIDE = 'R'.
LDC
LDC is INTEGER
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is COMPLEX*16 array, dimension
(N) if SIDE = 'L'
or (M) if SIDE = 'R'
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine zlarf1f (character side, integer m, integer n, complex*16, dimension( * ) v, integer incv,
complex*16 tau, complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( * ) work)
ZLARF1F applies an elementary reflector to a general rectangular
Purpose:
ZLARF1F applies a complex elementary reflector H to a real m by n matrix
C, from either the left or the right. H is represented in the form
H = I - tau * v * v**H
where tau is a complex scalar and v is a complex vector.
If tau = 0, then H is taken to be the unit matrix.
To apply H**H, supply conjg(tau) instead
tau.
Parameters
SIDE
SIDE is CHARACTER*1
= 'L': form H * C
\param[in] M
\verbatim
M is INTEGER
The number of rows of the matrix C.
N
N is INTEGER
The number of columns of the matrix C.
V
V is COMPLEX*16 array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L'
or (1 + (N-1)*abs(INCV)) if SIDE = 'R'
The vector v in the representation of H. V is not used if
TAU = 0. V(1) is not referenced or modified.
INCV
INCV is INTEGER
The increment between elements of v. INCV <> 0.
TAU
TAU is COMPLEX*16
The value tau in the representation of H.
C
C is COMPLEX*16 array, dimension (LDC,N)
On entry, the m by n matrix C.
On exit, C is overwritten by the matrix H * C if SIDE = 'L',
or C * H if SIDE = 'R'.
LDC
LDC is INTEGER
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is COMPLEX*16 array, dimension
(N) if SIDE = 'L'
or (M) if SIDE = 'R'
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Author
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 Thu Aug 28 2025 19:20:45 larf(3)