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

# lahef\_aa(3)

la{he,sy}f\_aa: triangular factor partial factor

## NAME

lahef\_aa - la{he,sy}f\_aa: triangular factor partial factor

## SYNOPSIS

### Functions

subroutine **clahef\_aa** (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)\
 **CLAHEF\_AA**  subroutine **clasyf\_aa** (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)\
 **CLASYF\_AA**  subroutine **dlasyf\_aa** (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)\
 **DLASYF\_AA**  subroutine **slasyf\_aa** (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)\
 **SLASYF\_AA**  subroutine **zlahef\_aa** (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)\
 **ZLAHEF\_AA**  subroutine **zlasyf\_aa** (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)\
 **ZLASYF\_AA**

## Detailed Description

## Function Documentation

### subroutine clahef\_aa (character uplo, integer j1, integer m, integer nb, complex, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) ipiv, complex, dimension( ldh, \* ) h, integer ldh, complex, dimension( \* ) work)

**CLAHEF\_AA**

**Purpose:**

```
!>
!> CLAHEF_AA factorizes a panel of a complex hermitian matrix A using
!> the Aasen's algorithm. The panel consists of a set of NB rows of A
!> when UPLO is U, or a set of NB columns when UPLO is L.
!>
!> In order to factorize the panel, the Aasen's algorithm requires the
!> last row, or column, of the previous panel. The first row, or column,
!> of A is set to be the first row, or column, of an identity matrix,
!> which is used to factorize the first panel.
!>
!> The resulting J-th row of U, or J-th column of L, is stored in the
!> (J-1)-th row, or column, of A (without the unit diagonals), while
!> the diagonal and subdiagonal of A are overwritten by those of T.
!>
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>
```

*J1*

```
!>          J1 is INTEGER
!>          The location of the first row, or column, of the panel
!>          within the submatrix of A, passed to this routine, e.g.,
!>          when called by CHETRF_AA, for the first panel, J1 is 1,
!>          while for the remaining panels, J1 is 2.
!>
```

*M*

```
!>          M is INTEGER
!>          The dimension of the submatrix. M >= 0.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The dimension of the panel to be facotorized.
!>
```

*A*

```
!>          A is COMPLEX array, dimension (LDA,M) for
!>          the first panel, while dimension (LDA,M+1) for the
!>          remaining panels.
!>
!>          On entry, A contains the last row, or column, of
!>          the previous panel, and the trailing submatrix of A
!>          to be factorized, except for the first panel, only
!>          the panel is passed.
!>
!>          On exit, the leading panel is factorized.
!>
```

*LDA*

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

*IPIV*

```
!>          IPIV is INTEGER array, dimension (N)
!>          Details of the row and column interchanges,
!>          the row and column k were interchanged with the row and
!>          column IPIV(k).
!>
```

*H*

```
!>          H is COMPLEX workspace, dimension (LDH,NB).
!>
!>
```

*LDH*

```
!>          LDH is INTEGER
!>          The leading dimension of the workspace H. LDH >= max(1,M).
!>
```

*WORK*

```
!>          WORK is COMPLEX workspace, dimension (M).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **142** of file **clahef\_aa.f**.

### subroutine clasyf\_aa (character uplo, integer j1, integer m, integer nb, complex, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) ipiv, complex, dimension( ldh, \* ) h, integer ldh, complex, dimension( \* ) work)

**CLASYF\_AA**

**Purpose:**

```
!>
!> DLATRF_AA factorizes a panel of a complex symmetric matrix A using
!> the Aasen's algorithm. The panel consists of a set of NB rows of A
!> when UPLO is U, or a set of NB columns when UPLO is L.
!>
!> In order to factorize the panel, the Aasen's algorithm requires the
!> last row, or column, of the previous panel. The first row, or column,
!> of A is set to be the first row, or column, of an identity matrix,
!> which is used to factorize the first panel.
!>
!> The resulting J-th row of U, or J-th column of L, is stored in the
!> (J-1)-th row, or column, of A (without the unit diagonals), while
!> the diagonal and subdiagonal of A are overwritten by those of T.
!>
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>
```

*J1*

```
!>          J1 is INTEGER
!>          The location of the first row, or column, of the panel
!>          within the submatrix of A, passed to this routine, e.g.,
!>          when called by CSYTRF_AA, for the first panel, J1 is 1,
!>          while for the remaining panels, J1 is 2.
!>
```

*M*

```
!>          M is INTEGER
!>          The dimension of the submatrix. M >= 0.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The dimension of the panel to be facotorized.
!>
```

*A*

```
!>          A is COMPLEX array, dimension (LDA,M) for
!>          the first panel, while dimension (LDA,M+1) for the
!>          remaining panels.
!>
!>          On entry, A contains the last row, or column, of
!>          the previous panel, and the trailing submatrix of A
!>          to be factorized, except for the first panel, only
!>          the panel is passed.
!>
!>          On exit, the leading panel is factorized.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,M).
!>
```

*IPIV*

```
!>          IPIV is INTEGER array, dimension (M)
!>          Details of the row and column interchanges,
!>          the row and column k were interchanged with the row and
!>          column IPIV(k).
!>
```

*H*

```
!>          H is COMPLEX workspace, dimension (LDH,NB).
!>
!>
```

*LDH*

```
!>          LDH is INTEGER
!>          The leading dimension of the workspace H. LDH >= max(1,M).
!>
```

*WORK*

```
!>          WORK is COMPLEX workspace, dimension (M).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **142** of file **clasyf\_aa.f**.

### subroutine dlasyf\_aa (character uplo, integer j1, integer m, integer nb, double precision, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) ipiv, double precision, dimension( ldh, \* ) h, integer ldh, double precision, dimension( \* ) work)

**DLASYF\_AA**

**Purpose:**

```
!>
!> DLATRF_AA factorizes a panel of a real symmetric matrix A using
!> the Aasen's algorithm. The panel consists of a set of NB rows of A
!> when UPLO is U, or a set of NB columns when UPLO is L.
!>
!> In order to factorize the panel, the Aasen's algorithm requires the
!> last row, or column, of the previous panel. The first row, or column,
!> of A is set to be the first row, or column, of an identity matrix,
!> which is used to factorize the first panel.
!>
!> The resulting J-th row of U, or J-th column of L, is stored in the
!> (J-1)-th row, or column, of A (without the unit diagonals), while
!> the diagonal and subdiagonal of A are overwritten by those of T.
!>
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>
```

*J1*

```
!>          J1 is INTEGER
!>          The location of the first row, or column, of the panel
!>          within the submatrix of A, passed to this routine, e.g.,
!>          when called by DSYTRF_AA, for the first panel, J1 is 1,
!>          while for the remaining panels, J1 is 2.
!>
```

*M*

```
!>          M is INTEGER
!>          The dimension of the submatrix. M >= 0.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The dimension of the panel to be facotorized.
!>
```

*A*

```
!>          A is DOUBLE PRECISION array, dimension (LDA,M) for
!>          the first panel, while dimension (LDA,M+1) for the
!>          remaining panels.
!>
!>          On entry, A contains the last row, or column, of
!>          the previous panel, and the trailing submatrix of A
!>          to be factorized, except for the first panel, only
!>          the panel is passed.
!>
!>          On exit, the leading panel is factorized.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,M).
!>
```

*IPIV*

```
!>          IPIV is INTEGER array, dimension (M)
!>          Details of the row and column interchanges,
!>          the row and column k were interchanged with the row and
!>          column IPIV(k).
!>
```

*H*

```
!>          H is DOUBLE PRECISION workspace, dimension (LDH,NB).
!>
!>
```

*LDH*

```
!>          LDH is INTEGER
!>          The leading dimension of the workspace H. LDH >= max(1,M).
!>
```

*WORK*

```
!>          WORK is DOUBLE PRECISION workspace, dimension (M).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **142** of file **dlasyf\_aa.f**.

### subroutine slasyf\_aa (character uplo, integer j1, integer m, integer nb, real, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) ipiv, real, dimension( ldh, \* ) h, integer ldh, real, dimension( \* ) work)

**SLASYF\_AA**

**Purpose:**

```
!>
!> DLATRF_AA factorizes a panel of a real symmetric matrix A using
!> the Aasen's algorithm. The panel consists of a set of NB rows of A
!> when UPLO is U, or a set of NB columns when UPLO is L.
!>
!> In order to factorize the panel, the Aasen's algorithm requires the
!> last row, or column, of the previous panel. The first row, or column,
!> of A is set to be the first row, or column, of an identity matrix,
!> which is used to factorize the first panel.
!>
!> The resulting J-th row of U, or J-th column of L, is stored in the
!> (J-1)-th row, or column, of A (without the unit diagonals), while
!> the diagonal and subdiagonal of A are overwritten by those of T.
!>
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>
```

*J1*

```
!>          J1 is INTEGER
!>          The location of the first row, or column, of the panel
!>          within the submatrix of A, passed to this routine, e.g.,
!>          when called by SSYTRF_AA, for the first panel, J1 is 1,
!>          while for the remaining panels, J1 is 2.
!>
```

*M*

```
!>          M is INTEGER
!>          The dimension of the submatrix. M >= 0.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The dimension of the panel to be facotorized.
!>
```

*A*

```
!>          A is REAL array, dimension (LDA,M) for
!>          the first panel, while dimension (LDA,M+1) for the
!>          remaining panels.
!>
!>          On entry, A contains the last row, or column, of
!>          the previous panel, and the trailing submatrix of A
!>          to be factorized, except for the first panel, only
!>          the panel is passed.
!>
!>          On exit, the leading panel is factorized.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,M).
!>
```

*IPIV*

```
!>          IPIV is INTEGER array, dimension (M)
!>          Details of the row and column interchanges,
!>          the row and column k were interchanged with the row and
!>          column IPIV(k).
!>
```

*H*

```
!>          H is REAL workspace, dimension (LDH,NB).
!>
!>
```

*LDH*

```
!>          LDH is INTEGER
!>          The leading dimension of the workspace H. LDH >= max(1,M).
!>
```

*WORK*

```
!>          WORK is REAL workspace, dimension (M).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **142** of file **slasyf\_aa.f**.

### subroutine zlahef\_aa (character uplo, integer j1, integer m, integer nb, complex\*16, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) ipiv, complex\*16, dimension( ldh, \* ) h, integer ldh, complex\*16, dimension( \* ) work)

**ZLAHEF\_AA**

**Purpose:**

```
!>
!> DLAHEF_AA factorizes a panel of a complex hermitian matrix A using
!> the Aasen's algorithm. The panel consists of a set of NB rows of A
!> when UPLO is U, or a set of NB columns when UPLO is L.
!>
!> In order to factorize the panel, the Aasen's algorithm requires the
!> last row, or column, of the previous panel. The first row, or column,
!> of A is set to be the first row, or column, of an identity matrix,
!> which is used to factorize the first panel.
!>
!> The resulting J-th row of U, or J-th column of L, is stored in the
!> (J-1)-th row, or column, of A (without the unit diagonals), while
!> the diagonal and subdiagonal of A are overwritten by those of T.
!>
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>
```

*J1*

```
!>          J1 is INTEGER
!>          The location of the first row, or column, of the panel
!>          within the submatrix of A, passed to this routine, e.g.,
!>          when called by ZHETRF_AA, for the first panel, J1 is 1,
!>          while for the remaining panels, J1 is 2.
!>
```

*M*

```
!>          M is INTEGER
!>          The dimension of the submatrix. M >= 0.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The dimension of the panel to be facotorized.
!>
```

*A*

```
!>          A is COMPLEX*16 array, dimension (LDA,M) for
!>          the first panel, while dimension (LDA,M+1) for the
!>          remaining panels.
!>
!>          On entry, A contains the last row, or column, of
!>          the previous panel, and the trailing submatrix of A
!>          to be factorized, except for the first panel, only
!>          the panel is passed.
!>
!>          On exit, the leading panel is factorized.
!>
```

*LDA*

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

*IPIV*

```
!>          IPIV is INTEGER array, dimension (N)
!>          Details of the row and column interchanges,
!>          the row and column k were interchanged with the row and
!>          column IPIV(k).
!>
```

*H*

```
!>          H is COMPLEX*16 workspace, dimension (LDH,NB).
!>
!>
```

*LDH*

```
!>          LDH is INTEGER
!>          The leading dimension of the workspace H. LDH >= max(1,M).
!>
```

*WORK*

```
!>          WORK is COMPLEX*16 workspace, dimension (M).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **142** of file **zlahef\_aa.f**.

### subroutine zlasyf\_aa (character uplo, integer j1, integer m, integer nb, complex\*16, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) ipiv, complex\*16, dimension( ldh, \* ) h, integer ldh, complex\*16, dimension( \* ) work)

**ZLASYF\_AA**

**Purpose:**

```
!>
!> DLATRF_AA factorizes a panel of a complex symmetric matrix A using
!> the Aasen's algorithm. The panel consists of a set of NB rows of A
!> when UPLO is U, or a set of NB columns when UPLO is L.
!>
!> In order to factorize the panel, the Aasen's algorithm requires the
!> last row, or column, of the previous panel. The first row, or column,
!> of A is set to be the first row, or column, of an identity matrix,
!> which is used to factorize the first panel.
!>
!> The resulting J-th row of U, or J-th column of L, is stored in the
!> (J-1)-th row, or column, of A (without the unit diagonals), while
!> the diagonal and subdiagonal of A are overwritten by those of T.
!>
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>
```

*J1*

```
!>          J1 is INTEGER
!>          The location of the first row, or column, of the panel
!>          within the submatrix of A, passed to this routine, e.g.,
!>          when called by ZSYTRF_AA, for the first panel, J1 is 1,
!>          while for the remaining panels, J1 is 2.
!>
```

*M*

```
!>          M is INTEGER
!>          The dimension of the submatrix. M >= 0.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The dimension of the panel to be facotorized.
!>
```

*A*

```
!>          A is COMPLEX*16 array, dimension (LDA,M) for
!>          the first panel, while dimension (LDA,M+1) for the
!>          remaining panels.
!>
!>          On entry, A contains the last row, or column, of
!>          the previous panel, and the trailing submatrix of A
!>          to be factorized, except for the first panel, only
!>          the panel is passed.
!>
!>          On exit, the leading panel is factorized.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,M).
!>
```

*IPIV*

```
!>          IPIV is INTEGER array, dimension (M)
!>          Details of the row and column interchanges,
!>          the row and column k were interchanged with the row and
!>          column IPIV(k).
!>
```

*H*

```
!>          H is COMPLEX*16 workspace, dimension (LDH,NB).
!>
!>
```

*LDH*

```
!>          LDH is INTEGER
!>          The leading dimension of the workspace H. LDH >= max(1,M).
!>
```

*WORK*

```
!>          WORK is COMPLEX*16 workspace, dimension (M).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **142** of file **zlasyf\_aa.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
