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)#
CLAQHP equilibrates a Hermitian matrix A using the scaling factors in the vector S.
- Internal Parameters:
THRESHdecides whether to scale based on the ratio of the scaling factors: scaling is performed whenscond<THRESH.LARGEandSMALLdecide whether to scale based on the absolute size of the largest matrix element: scaling is performed whenamax>LARGEoramax<SMALL.
Parameters
inuplo'U': Upper triangular part of A is stored'L': Lower triangular part of A is stored
innThe order of the matrix A.
n>=0.inoutAPOn 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*(j+1)/2] = A(i,j)for0<=i<=j; ifuplo='L',AP[i - j + j*(2*n-j+1)/2] = A(i,j)forj<=i<n. On exit, the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A. Array of dimensionn*(n+1)/2.inSThe scale factors for A. Array of dimension
n.inscondRatio of the smallest S(i) to the largest S(i).
inamaxAbsolute value of largest matrix entry.
outequed'N': No equilibration'Y': Equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).
void claqhp(
const char* uplo,
const INT n,
c64* restrict AP,
const f32* restrict S,
const f32 scond,
const f32 amax,
char* equed
);
Functions
-
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.
- Internal Parameters:
THRESHdecides whether to scale based on the ratio of the scaling factors: scaling is performed whenscond<THRESH.LARGEandSMALLdecide whether to scale based on the absolute size of the largest matrix element: scaling is performed whenamax>LARGEoramax<SMALL.
Parameters
inuplo'U': Upper triangular part of A is stored'L': Lower triangular part of A is stored
innThe order of the matrix A.
n>=0.inoutAPOn 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*(j+1)/2] = A(i,j)for0<=i<=j; ifuplo='L',AP[i - j + j*(2*n-j+1)/2] = A(i,j)forj<=i<n. On exit, the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A. Array of dimensionn*(n+1)/2.inSThe scale factors for A. Array of dimension
n.inscondRatio of the smallest S(i) to the largest S(i).
inamaxAbsolute value of largest matrix entry.
outequed'N': No equilibration'Y': Equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).
void zlaqhp(
const char* uplo,
const INT n,
c128* restrict AP,
const f64* restrict S,
const f64 scond,
const f64 amax,
char* equed
);