## table of contents

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 California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Date**

## 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 = ( 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 California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Date**

## 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 California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Date**

# Author¶

Generated automatically by Doxygen for LAPACK from the source code.

Sat Aug 1 2020 | Version 3.9.0 |