---
name: "larfgp"
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/larfgp"
---

# larfgp(3)

larfgp: generate Householder reflector, beta ≥ 0

## NAME

larfgp - larfgp: generate Householder reflector, beta ≥ 0

## SYNOPSIS

### Functions

subroutine **clarfgp** (n, alpha, x, incx, tau)\
 **CLARFGP** generates an elementary reflector (Householder matrix) with non-negative beta.  subroutine **dlarfgp** (n, alpha, x, incx, tau)\
 **DLARFGP** generates an elementary reflector (Householder matrix) with non-negative beta.  subroutine **slarfgp** (n, alpha, x, incx, tau)\
 **SLARFGP** generates an elementary reflector (Householder matrix) with non-negative beta.  subroutine **zlarfgp** (n, alpha, x, incx, tau)\
 **ZLARFGP** generates an elementary reflector (Householder matrix) with non-negative beta.

## Detailed Description

## Function Documentation

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

**CLARFGP** generates an elementary reflector (Householder matrix) with non-negative beta.

**Purpose:**

```
!>
!> CLARFGP 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, beta is real and non-negative, 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.
!>
```

**Parameters**

*N*

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

*ALPHA*

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

*X*

```
!>          X is COMPLEX 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
!>          The value tau.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **103** of file **clarfgp.f**.

### subroutine dlarfgp (integer n, double precision alpha, double precision, dimension( \* ) x, integer incx, double precision tau)

**DLARFGP** generates an elementary reflector (Householder matrix) with non-negative beta.

**Purpose:**

```
!>
!> DLARFGP generates a real elementary reflector H of order n, such
!> that
!>
!>       H * ( alpha ) = ( beta ),   H**T * H = I.
!>           (   x   )   (   0  )
!>
!> where alpha and beta are scalars, beta is non-negative, and x is
!> an (n-1)-element real vector.  H is represented in the form
!>
!>       H = I - tau * ( 1 ) * ( 1 v**T ) ,
!>                     ( v )
!>
!> where tau is a real scalar and v is a real (n-1)-element
!> vector.
!>
!> If the elements of x are all zero, then tau = 0 and H is taken to be
!> the unit matrix.
!>
```

**Parameters**

*N*

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

*ALPHA*

```
!>          ALPHA is DOUBLE PRECISION
!>          On entry, the value alpha.
!>          On exit, it is overwritten with the value beta.
!>
```

*X*

```
!>          X is DOUBLE PRECISION 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 DOUBLE PRECISION
!>          The value tau.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **103** of file **dlarfgp.f**.

### subroutine slarfgp (integer n, real alpha, real, dimension( \* ) x, integer incx, real tau)

**SLARFGP** generates an elementary reflector (Householder matrix) with non-negative beta.

**Purpose:**

```
!>
!> SLARFGP generates a real elementary reflector H of order n, such
!> that
!>
!>       H * ( alpha ) = ( beta ),   H**T * H = I.
!>           (   x   )   (   0  )
!>
!> where alpha and beta are scalars, beta is non-negative, and x is
!> an (n-1)-element real vector.  H is represented in the form
!>
!>       H = I - tau * ( 1 ) * ( 1 v**T ) ,
!>                     ( v )
!>
!> where tau is a real scalar and v is a real (n-1)-element
!> vector.
!>
!> If the elements of x are all zero, then tau = 0 and H is taken to be
!> the unit matrix.
!>
```

**Parameters**

*N*

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

*ALPHA*

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

*X*

```
!>          X is REAL 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 REAL
!>          The value tau.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **103** of file **slarfgp.f**.

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

**ZLARFGP** generates an elementary reflector (Householder matrix) with non-negative beta.

**Purpose:**

```
!>
!> ZLARFGP 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, beta is real and non-negative, 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.
!>
```

**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 **103** of file **zlarfgp.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
