complex16HEauxiliary(3) LAPACK complex16HEauxiliary(3)

# NAME¶

complex16HEauxiliary

# SYNOPSIS¶

## Functions¶

subroutine zheswapr (UPLO, N, A, LDA, I1, I2)
ZHESWAPR applies an elementary permutation on the rows and columns of a Hermitian matrix. double precision function zlanhe (NORM, UPLO, N, A, LDA, WORK)
ZLANHE returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix. subroutine zlaqhe (UPLO, N, A, LDA, S, SCOND, AMAX, EQUED)
ZLAQHE scales a Hermitian matrix.

# Detailed Description¶

This is the group of complex16 auxiliary functions for HE matrices

# Function Documentation¶

## subroutine zheswapr (character UPLO, integer N, complex*16, dimension( lda, n ) A, integer LDA, integer I1, integer I2)¶

ZHESWAPR applies an elementary permutation on the rows and columns of a Hermitian matrix.

Purpose:

```
ZHESWAPR applies an elementary permutation on the rows and the columns of

a hermitian matrix.```

Parameters

UPLO

```
UPLO is CHARACTER*1

Specifies whether the details of the factorization are stored

as an upper or lower triangular matrix.

= 'U':  Upper triangular, form is A = U*D*U**T;

= 'L':  Lower triangular, form is A = L*D*L**T.```

N

```
N is INTEGER

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

A

```
A is COMPLEX*16 array, dimension (LDA,N)

On entry, the NB diagonal matrix D and the multipliers

used to obtain the factor U or L as computed by CSYTRF.

On exit, if INFO = 0, the (symmetric) inverse of the original

matrix.  If UPLO = 'U', the upper triangular part of the

inverse is formed and the part of A below the diagonal is not

referenced; if UPLO = 'L' the lower triangular part of the

inverse is formed and the part of A above the diagonal is

not referenced.```

LDA

```
LDA is INTEGER

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

I1

```
I1 is INTEGER

Index of the first row to swap```

I2

```
I2 is INTEGER

Index of the second row to swap```

Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Date

December 2016

## double precision function zlanhe (character NORM, character UPLO, integer N, complex*16, dimension( lda, * ) A, integer LDA, double precision, dimension( * ) WORK)¶

ZLANHE returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix.

Purpose:

```
ZLANHE  returns the value of the one norm,  or the Frobenius norm, or

the  infinity norm,  or the  element of  largest absolute value  of a

complex hermitian matrix A.```

Returns

ZLANHE

```
ZLANHE = ( max(abs(A(i,j))), NORM = 'M' or 'm'

(

( norm1(A),         NORM = '1', 'O' or 'o'

(

( normI(A),         NORM = 'I' or 'i'

(

( normF(A),         NORM = 'F', 'f', 'E' or 'e'

where  norm1  denotes the  one norm of a matrix (maximum column sum),

normI  denotes the  infinity norm  of a matrix  (maximum row sum) and

normF  denotes the  Frobenius norm of a matrix (square root of sum of

squares).  Note that  max(abs(A(i,j)))  is not a consistent matrix norm.```

Parameters

NORM

```
NORM is CHARACTER*1

Specifies the value to be returned in ZLANHE as described

above.```

UPLO

```
UPLO is CHARACTER*1

Specifies whether the upper or lower triangular part of the

hermitian matrix A is to be referenced.

= 'U':  Upper triangular part of A is referenced

= 'L':  Lower triangular part of A is referenced```

N

```
N is INTEGER

The order of the matrix A.  N >= 0.  When N = 0, ZLANHE is

set to zero.```

A

```
A is COMPLEX*16 array, dimension (LDA,N)

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. Note that the imaginary parts of the diagonal

elements need not be set and are assumed to be zero.```

LDA

```
LDA is INTEGER

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

WORK

```
WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)),

where LWORK >= N when NORM = 'I' or '1' or 'O'; otherwise,

WORK is not referenced.```

Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Date

December 2016

## subroutine zlaqhe (character UPLO, integer N, complex*16, dimension( lda, * ) A, integer LDA, double precision, dimension( * ) S, double precision SCOND, double precision AMAX, character EQUED)¶

ZLAQHE scales a Hermitian matrix.

Purpose:

```
ZLAQHE 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*16 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 DOUBLE PRECISION array, dimension (N)

The scale factors for A.```

SCOND

```
SCOND is DOUBLE PRECISION

Ratio of the smallest S(i) to the largest S(i).```

AMAX

```
AMAX is DOUBLE PRECISION

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