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

# claqhp.f(3)

## NAME

SRC/claqhp.f

## SYNOPSIS

### Functions/Subroutines

subroutine **claqhp** (uplo, n, ap, s, scond, amax, equed)\
 **CLAQHP** scales a Hermitian matrix stored in packed form.

## Function/Subroutine Documentation

### subroutine claqhp (character uplo, integer n, complex, dimension( \* ) ap, real, dimension( \* ) s, real scond, real amax, character equed)

**CLAQHP** scales a Hermitian matrix stored in packed form.

**Purpose:**

```
!>
!> CLAQHP 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.
!>
```

*AP*

```
!>          AP is COMPLEX array, dimension (N*(N+1)/2)
!>          On entry, the upper or lower triangle of the Hermitian matrix
!>          A, packed columnwise in a linear array.  The j-th column of A
!>          is stored in the array AP as follows:
!>          if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
!>          if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
!>
!>          On exit, the equilibrated matrix:  diag(S) * A * diag(S), in
!>          the same storage format as A.
!>
```

*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 **125** of file **claqhp.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
