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

# larfy(3)

larfy: apply Householder reflector symmetrically (2-sided)

## NAME

larfy - larfy: apply Householder reflector symmetrically (2-sided)

## SYNOPSIS

### Functions

subroutine **clarfy** (uplo, n, v, incv, tau, c, ldc, work)\
 **CLARFY**  subroutine **dlarfy** (uplo, n, v, incv, tau, c, ldc, work)\
 **DLARFY**  subroutine **slarfy** (uplo, n, v, incv, tau, c, ldc, work)\
 **SLARFY**  subroutine **zlarfy** (uplo, n, v, incv, tau, c, ldc, work)\
 **ZLARFY**

## Detailed Description

## Function Documentation

### subroutine clarfy (character uplo, integer n, complex, dimension( \* ) v, integer incv, complex tau, complex, dimension( ldc, \* ) c, integer ldc, complex, dimension( \* ) work)

**CLARFY**

**Purpose:**

```
!>
!> CLARFY applies an elementary reflector, or Householder matrix, H,
!> to an n x n Hermitian matrix C, from both the left and the right.
!>
!> H is represented in the form
!>
!>    H = I - tau * v * v'
!>
!> where  tau  is a scalar and  v  is a vector.
!>
!> If  tau  is  zero, then  H  is taken to be the unit matrix.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          Specifies whether the upper or lower triangular part of the
!>          Hermitian matrix C is stored.
!>          = 'U':  Upper triangle
!>          = 'L':  Lower triangle
!>
```

*N*

```
!>          N is INTEGER
!>          The number of rows and columns of the matrix C.  N >= 0.
!>
```

*V*

```
!>          V is COMPLEX array, dimension
!>                  (1 + (N-1)*abs(INCV))
!>          The vector v as described above.
!>
```

*INCV*

```
!>          INCV is INTEGER
!>          The increment between successive elements of v.  INCV must
!>          not be zero.
!>
```

*TAU*

```
!>          TAU is COMPLEX
!>          The value tau as described above.
!>
```

*C*

```
!>          C is COMPLEX array, dimension (LDC, N)
!>          On entry, the matrix C.
!>          On exit, C is overwritten by H * C * H'.
!>
```

*LDC*

```
!>          LDC is INTEGER
!>          The leading dimension of the array C.  LDC >= max( 1, N ).
!>
```

*WORK*

```
!>          WORK is COMPLEX array, dimension (N)
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **107** of file **clarfy.f**.

### subroutine dlarfy (character uplo, integer n, double precision, dimension( \* ) v, integer incv, double precision tau, double precision, dimension( ldc, \* ) c, integer ldc, double precision, dimension( \* ) work)

**DLARFY**

**Purpose:**

```
!>
!> DLARFY applies an elementary reflector, or Householder matrix, H,
!> to an n x n symmetric matrix C, from both the left and the right.
!>
!> H is represented in the form
!>
!>    H = I - tau * v * v'
!>
!> where  tau  is a scalar and  v  is a vector.
!>
!> If  tau  is  zero, then  H  is taken to be the unit matrix.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          Specifies whether the upper or lower triangular part of the
!>          symmetric matrix C is stored.
!>          = 'U':  Upper triangle
!>          = 'L':  Lower triangle
!>
```

*N*

```
!>          N is INTEGER
!>          The number of rows and columns of the matrix C.  N >= 0.
!>
```

*V*

```
!>          V is DOUBLE PRECISION array, dimension
!>                  (1 + (N-1)*abs(INCV))
!>          The vector v as described above.
!>
```

*INCV*

```
!>          INCV is INTEGER
!>          The increment between successive elements of v.  INCV must
!>          not be zero.
!>
```

*TAU*

```
!>          TAU is DOUBLE PRECISION
!>          The value tau as described above.
!>
```

*C*

```
!>          C is DOUBLE PRECISION array, dimension (LDC, N)
!>          On entry, the matrix C.
!>          On exit, C is overwritten by H * C * H'.
!>
```

*LDC*

```
!>          LDC is INTEGER
!>          The leading dimension of the array C.  LDC >= max( 1, N ).
!>
```

*WORK*

```
!>          WORK is DOUBLE PRECISION array, dimension (N)
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **107** of file **dlarfy.f**.

### subroutine slarfy (character uplo, integer n, real, dimension( \* ) v, integer incv, real tau, real, dimension( ldc, \* ) c, integer ldc, real, dimension( \* ) work)

**SLARFY**

**Purpose:**

```
!>
!> SLARFY applies an elementary reflector, or Householder matrix, H,
!> to an n x n symmetric matrix C, from both the left and the right.
!>
!> H is represented in the form
!>
!>    H = I - tau * v * v'
!>
!> where  tau  is a scalar and  v  is a vector.
!>
!> If  tau  is  zero, then  H  is taken to be the unit matrix.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          Specifies whether the upper or lower triangular part of the
!>          symmetric matrix C is stored.
!>          = 'U':  Upper triangle
!>          = 'L':  Lower triangle
!>
```

*N*

```
!>          N is INTEGER
!>          The number of rows and columns of the matrix C.  N >= 0.
!>
```

*V*

```
!>          V is REAL array, dimension
!>                  (1 + (N-1)*abs(INCV))
!>          The vector v as described above.
!>
```

*INCV*

```
!>          INCV is INTEGER
!>          The increment between successive elements of v.  INCV must
!>          not be zero.
!>
```

*TAU*

```
!>          TAU is REAL
!>          The value tau as described above.
!>
```

*C*

```
!>          C is REAL array, dimension (LDC, N)
!>          On entry, the matrix C.
!>          On exit, C is overwritten by H * C * H'.
!>
```

*LDC*

```
!>          LDC is INTEGER
!>          The leading dimension of the array C.  LDC >= max( 1, N ).
!>
```

*WORK*

```
!>          WORK is REAL array, dimension (N)
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **107** of file **slarfy.f**.

### subroutine zlarfy (character uplo, integer n, complex\*16, dimension( \* ) v, integer incv, complex\*16 tau, complex\*16, dimension( ldc, \* ) c, integer ldc, complex\*16, dimension( \* ) work)

**ZLARFY**

**Purpose:**

```
!>
!> ZLARFY applies an elementary reflector, or Householder matrix, H,
!> to an n x n Hermitian matrix C, from both the left and the right.
!>
!> H is represented in the form
!>
!>    H = I - tau * v * v'
!>
!> where  tau  is a scalar and  v  is a vector.
!>
!> If  tau  is  zero, then  H  is taken to be the unit matrix.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          Specifies whether the upper or lower triangular part of the
!>          Hermitian matrix C is stored.
!>          = 'U':  Upper triangle
!>          = 'L':  Lower triangle
!>
```

*N*

```
!>          N is INTEGER
!>          The number of rows and columns of the matrix C.  N >= 0.
!>
```

*V*

```
!>          V is COMPLEX*16 array, dimension
!>                  (1 + (N-1)*abs(INCV))
!>          The vector v as described above.
!>
```

*INCV*

```
!>          INCV is INTEGER
!>          The increment between successive elements of v.  INCV must
!>          not be zero.
!>
```

*TAU*

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

*C*

```
!>          C is COMPLEX*16 array, dimension (LDC, N)
!>          On entry, the matrix C.
!>          On exit, C is overwritten by H * C * H'.
!>
```

*LDC*

```
!>          LDC is INTEGER
!>          The leading dimension of the array C.  LDC >= max( 1, N ).
!>
```

*WORK*

```
!>          WORK is COMPLEX*16 array, dimension (N)
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **107** of file **zlarfy.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
