larf(3) Library Functions Manual larf(3)

larf - larf: apply Householder reflector


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

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.

Definition at line 127 of file clarf.f.

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.

Definition at line 123 of file dlarf.f.

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.

Definition at line 158 of file dlarf1f.f.

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.

Definition at line 125 of file dlarf1l.f.

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.

Definition at line 123 of file slarf.f.

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.

Definition at line 127 of file zlarf.f.

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.

Definition at line 158 of file zlarf1f.f.

Generated automatically by Doxygen for LAPACK from the source code.

Version 3.12.0 LAPACK