hpsv#
Functions
-
void chpsv(const char *uplo, const INT n, const INT nrhs, c64 *restrict AP, INT *restrict ipiv, c64 *restrict B, const INT ldb, INT *info)#
CHPSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices.
The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = ‘U’, or A = L * D * L**H, if UPLO = ‘L’, where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
Parameters
inuplo= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutAPOn entry, the packed Hermitian matrix A. On exit, the factorization from CHPTRF. Array of dimension (n*(n+1)/2).
outipivThe pivot indices from CHPTRF. Array of dimension (n).
inoutBOn entry, the right hand side matrix B. On exit, the solution matrix X. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1,n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i, D(i,i) is exactly zero
void chpsv(
const char* uplo,
const INT n,
const INT nrhs,
c64* restrict AP,
INT* restrict ipiv,
c64* restrict B,
const INT ldb,
INT* info
);
Functions
-
void zhpsv(const char *uplo, const INT n, const INT nrhs, c128 *restrict AP, INT *restrict ipiv, c128 *restrict B, const INT ldb, INT *info)#
ZHPSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices.
The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = ‘U’, or A = L * D * L**H, if UPLO = ‘L’, where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
Parameters
inuplo= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutAPOn entry, the packed Hermitian matrix A. On exit, the factorization from ZHPTRF. Array of dimension (n*(n+1)/2).
outipivThe pivot indices from ZHPTRF. Array of dimension (n).
inoutBOn entry, the right hand side matrix B. On exit, the solution matrix X. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1,n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i, D(i,i) is exactly zero
void zhpsv(
const char* uplo,
const INT n,
const INT nrhs,
c128* restrict AP,
INT* restrict ipiv,
c128* restrict B,
const INT ldb,
INT* info
);