---
name: "zlarfg.f"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/zlarfg.f"
---

# zlarfg.f(3)

## NAME

SRC/zlarfg.f

## SYNOPSIS

### Functions/Subroutines

subroutine **zlarfg** (n, alpha, x, incx, tau)\
 **ZLARFG** generates an elementary reflector (Householder matrix).

## Function/Subroutine Documentation

### subroutine zlarfg (integer n, complex\*16 alpha, complex\*16, dimension( \* ) x, integer incx, complex\*16 tau)

**ZLARFG** generates an elementary reflector (Householder matrix).

**Purpose:**

```
!>
!> ZLARFG generates a complex elementary reflector H of order n, such
!> that
!>
!>       H**H * ( alpha ) = ( beta ),   H**H * H = I.
!>              (   x   )   (   0  )
!>
!> where alpha and beta are scalars, with beta real, and x is an
!> (n-1)-element complex vector. H is represented in the form
!>
!>       H = I - tau * ( 1 ) * ( 1 v**H ) ,
!>                     ( v )
!>
!> where tau is a complex scalar and v is a complex (n-1)-element
!> vector. Note that H is not hermitian.
!>
!> If the elements of x are all zero and alpha is real, then tau = 0
!> and H is taken to be the unit matrix.
!>
!> Otherwise  1 <= real(tau) <= 2  and  abs(tau-1) <= 1 .
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The order of the elementary reflector.
!>
```

*ALPHA*

```
!>          ALPHA is COMPLEX*16
!>          On entry, the value alpha.
!>          On exit, it is overwritten with the value beta.
!>
```

*X*

```
!>          X is COMPLEX*16 array, dimension
!>                         (1+(N-2)*abs(INCX))
!>          On entry, the vector x.
!>          On exit, it is overwritten with the vector v.
!>
```

*INCX*

```
!>          INCX is INTEGER
!>          The increment between elements of X. INCX > 0.
!>
```

*TAU*

```
!>          TAU is COMPLEX*16
!>          The value tau.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **105** of file **zlarfg.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
