---
name: "claqhe.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/claqhe.f"
---

# claqhe.f(3)

## NAME

SRC/claqhe.f

## SYNOPSIS

### Functions/Subroutines

subroutine **claqhe** (uplo, n, a, lda, s, scond, amax, equed)\
 **CLAQHE** scales a Hermitian matrix.

## Function/Subroutine Documentation

### subroutine claqhe (character uplo, integer n, complex, dimension( lda, \* ) a, integer lda, real, dimension( \* ) s, real scond, real amax, character equed)

**CLAQHE** scales a Hermitian matrix.

**Purpose:**

```
!>
!> CLAQHE equilibrates a Hermitian matrix A using the scaling factors
!> in the vector S.
!>
```

**Parameters**

*UPLO*

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

*N*

```
!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>
```

*A*

```
!>          A is COMPLEX array, dimension (LDA,N)
!>          On entry, the Hermitian matrix A.  If UPLO = 'U', the leading
!>          n by n upper triangular part of A contains the upper
!>          triangular part of the matrix A, and the strictly lower
!>          triangular part of A is not referenced.  If UPLO = 'L', the
!>          leading n by n lower triangular part of A contains the lower
!>          triangular part of the matrix A, and the strictly upper
!>          triangular part of A is not referenced.
!>
!>          On exit, if EQUED = 'Y', the equilibrated matrix:
!>          diag(S) * A * diag(S).
!>
```

*LDA*

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

*S*

```
!>          S is REAL array, dimension (N)
!>          The scale factors for A.
!>
```

*SCOND*

```
!>          SCOND is REAL
!>          Ratio of the smallest S(i) to the largest S(i).
!>
```

*AMAX*

```
!>          AMAX is REAL
!>          Absolute value of largest matrix entry.
!>
```

*EQUED*

```
!>          EQUED is CHARACTER*1
!>          Specifies whether or not equilibration was done.
!>          = 'N':  No equilibration.
!>          = 'Y':  Equilibration was done, i.e., A has been replaced by
!>                  diag(S) * A * diag(S).
!>
```

**Internal Parameters:**

```
!>  THRESH is a threshold value used to decide if scaling should be done
!>  based on the ratio of the scaling factors.  If SCOND < THRESH,
!>  scaling is done.
!>
!>  LARGE and SMALL are threshold values used to decide if scaling should
!>  be done based on the absolute size of the largest matrix element.
!>  If AMAX > LARGE or AMAX < SMALL, scaling is done.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **133** of file **claqhe.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
