Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?laqhp
Scales a Hermitian matrix stored in packed form.
Syntax
call claqhp ( uplo , n , ap , s , scond , amax , equed )
call zlaqhp ( uplo , n , ap , s , scond , amax , equed )
Include Files
mkl.fi
Description
claqhp zlaqhp
The routine equilibrates a Hermitian matrix A using the scaling factors in the vector s .
Input Parameters
- uplo
-
CHARACTER*1 . Specifies whether to store the upper or lower part of the Hermitian matrix A . If uplo = 'U' , the upper triangular part of A ; if uplo = 'L' , the lower triangular part of A .
- n
-
INTEGER . The order of the matrix A . n≥ 0 .
- ap
-
COMPLEX for claqhp DOUBLE COMPLEX for zlaqhp Array, DIMENSION ( n *( n +1)/2). The Hermitian matrix A .
- s
-
REAL for claqhp DOUBLE PRECISION for zlaqhp Array, DIMENSION ( n ). The scale factors for A .
- scond
-
REAL for claqhp DOUBLE PRECISION for zlaqhp Ratio of the smallest s(i) to the largest s(i).
- amax
-
REAL for claqhp DOUBLE PRECISION for zlaqhp Absolute value of largest matrix entry.
Output Parameters
- a
-
If equed = 'Y' , a contains the equilibrated matrix diag(s)*A*diag(s) in the same storage format as on input.
- equed
-
CHARACTER*1 . Specifies whether or not equilibration was done. If equed = 'N' : No equilibration. If equed = 'Y' : Equilibration was done, that is, A has been replaced by diag(s)*A*diag(s) .
Application Notes
The routine uses internal parameters thresh , large , and small . The parameter 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.
The large and small parameters 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.