laqhe#

Functions

void claqhe(
    const char*          uplo,
    const INT            n,
          c64*  restrict A,
    const INT            lda,
    const f32*  restrict S,
    const f32            scond,
    const f32            amax,
          char*          equed
);
void claqhe(const char *uplo, const INT n, c64 *restrict A, const INT lda, const f32 *restrict S, const f32 scond, const f32 amax, char *equed)#

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

Internal Parameters:

THRESH decides whether to scale based on the ratio of the scaling factors: scaling is performed when scond<THRESH. LARGE and SMALL decide whether to scale based on the absolute size of the largest matrix element: scaling is performed when amax>LARGE or amax<SMALL.

Parameters

in
uplo

  • 'U': Upper triangular

  • 'L': Lower triangular

in
n

The order of the matrix A. n>=0.

inout
A

Single complex array of 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).

in
lda

The leading dimension of A. lda>=max(n,1).

in
S

Single precision array of dimension n. The scale factors for A.

in
scond

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

in
amax

Absolute value of largest matrix entry.

out
equed

  • 'N': No equilibration

  • 'Y': Equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).

Functions

void zlaqhe(
    const char*          uplo,
    const INT            n,
          c128* restrict A,
    const INT            lda,
    const f64*  restrict S,
    const f64            scond,
    const f64            amax,
          char*          equed
);
void zlaqhe(const char *uplo, const INT n, c128 *restrict A, const INT lda, const f64 *restrict S, const f64 scond, const f64 amax, char *equed)#

ZLAQHE equilibrates a Hermitian matrix A using the scaling factors in the vector S.

Internal Parameters:

THRESH decides whether to scale based on the ratio of the scaling factors: scaling is performed when scond<THRESH. LARGE and SMALL decide whether to scale based on the absolute size of the largest matrix element: scaling is performed when amax>LARGE or amax<SMALL.

Parameters

in
uplo

  • 'U': Upper triangular

  • 'L': Lower triangular

in
n

The order of the matrix A. n>=0.

inout
A

Double complex array of 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).

in
lda

The leading dimension of A. lda>=max(n,1).

in
S

Double precision array of dimension n. The scale factors for A.

in
scond

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

in
amax

Absolute value of largest matrix entry.

out
equed

  • 'N': No equilibration

  • 'Y': Equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).