# larz - Man Page

larz: apply reflector

## Synopsis

### Functions

subroutine **clarz** (side, m, n, l, v, incv, tau, c, ldc, work)**CLARZ** applies an elementary reflector (as returned by stzrzf) to a general matrix.

subroutine **dlarz** (side, m, n, l, v, incv, tau, c, ldc, work)**DLARZ** applies an elementary reflector (as returned by stzrzf) to a general matrix.

subroutine **slarz** (side, m, n, l, v, incv, tau, c, ldc, work)**SLARZ** applies an elementary reflector (as returned by stzrzf) to a general matrix.

subroutine **zlarz** (side, m, n, l, v, incv, tau, c, ldc, work)**ZLARZ** applies an elementary reflector (as returned by stzrzf) to a general matrix.

## Detailed Description

## Function Documentation

### subroutine clarz (character side, integer m, integer n, integer l, complex, dimension( * ) v, integer incv, complex tau, complex, dimension( ldc, * ) c, integer ldc, complex, dimension( * ) work)

**CLARZ** applies an elementary reflector (as returned by stzrzf) to a general matrix.

**Purpose:**

CLARZ 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. H is a product of k elementary reflectors as returned by CTZRZF.

**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.

*L*L is 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*V is COMPLEX array, dimension (1+(L-1)*abs(INCV)) The vector v in the representation of H as returned by CTZRZF. 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.

**Contributors:**A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA

**Further Details:**

Definition at line **146** of file **clarz.f**.

### subroutine dlarz (character side, integer m, integer n, integer l, double precision, dimension( * ) v, integer incv, double precision tau, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension( * ) work)

**DLARZ** applies an elementary reflector (as returned by stzrzf) to a general matrix.

**Purpose:**

DLARZ 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. H is a product of k elementary reflectors as returned by DTZRZF.

**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.

*L*L is 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*V is DOUBLE PRECISION array, dimension (1+(L-1)*abs(INCV)) The vector v in the representation of H as returned by DTZRZF. 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.

**Contributors:**A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA

**Further Details:**

Definition at line **144** of file **dlarz.f**.

### subroutine slarz (character side, integer m, integer n, integer l, real, dimension( * ) v, integer incv, real tau, real, dimension( ldc, * ) c, integer ldc, real, dimension( * ) work)

**SLARZ** applies an elementary reflector (as returned by stzrzf) to a general matrix.

**Purpose:**

SLARZ 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. H is a product of k elementary reflectors as returned by STZRZF.

**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.

*L*L is 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*V is REAL array, dimension (1+(L-1)*abs(INCV)) The vector v in the representation of H as returned by STZRZF. 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.

**Contributors:**A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA

**Further Details:**

Definition at line **144** of file **slarz.f**.

### subroutine zlarz (character side, integer m, integer n, integer l, complex*16, dimension( * ) v, integer incv, complex*16 tau, complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( * ) work)

**ZLARZ** applies an elementary reflector (as returned by stzrzf) to a general matrix.

**Purpose:**

ZLARZ 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. H is a product of k elementary reflectors as returned by ZTZRZF.

**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.

*L**V*V is COMPLEX*16 array, dimension (1+(L-1)*abs(INCV)) The vector v in the representation of H as returned by ZTZRZF. 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.

**Contributors:**A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA

**Further Details:**

Definition at line **146** of file **zlarz.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.