laqhp#

Functions

void claqhp(
    const char*          uplo,
    const INT            n,
          c64*  restrict AP,
    const f32*  restrict S,
    const f32            scond,
    const f32            amax,
          char*          equed
);
void claqhp(const char *uplo, const INT n, c64 *restrict AP, const f32 *restrict S, const f32 scond, const f32 amax, char *equed)#

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

Parameters

in
uplo

= ‘U’: Upper triangular part of A is stored = ‘L’: Lower triangular part of A is stored

in
n

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

inout
AP

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 0<=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. Array of dimension (n*(n+1)/2).

in
S

The scale factors for A. Array of dimension (n).

in
scond

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

in
amax

Absolute value of largest matrix entry.

out
equed

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).

Functions

void zlaqhp(
    const char*          uplo,
    const INT            n,
          c128* restrict AP,
    const f64*  restrict S,
    const f64            scond,
    const f64            amax,
          char*          equed
);
void zlaqhp(const char *uplo, const INT n, c128 *restrict AP, const f64 *restrict S, const f64 scond, const f64 amax, char *equed)#

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

Parameters

in
uplo

= ‘U’: Upper triangular part of A is stored = ‘L’: Lower triangular part of A is stored

in
n

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

inout
AP

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 0<=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. Array of dimension (n*(n+1)/2).

in
S

The scale factors for A. Array of dimension (n).

in
scond

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

in
amax

Absolute value of largest matrix entry.

out
equed

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).