logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

hprfs - {hp,sp}rfs: iterative refinement

Author

Generated automatically by Doxygen for LAPACK from the source code. Version 3.12.0 Sun Jul 20 2025 01:40:05 hprfs(3)

Detailed Description

Function Documentation

subroutinechprfs(characteruplo,integern,integernrhs,complex,dimension(*)ap,complex,dimension(*)afp,integer,dimension(*)ipiv,complex,dimension(ldb,*)b,integerldb,complex,dimension(ldx,*)x,integerldx,real,dimension(*)ferr,real,dimension(*)berr,complex,dimension(*)work,real,dimension(*)rwork,integerinfo)CHPRFSPurpose: CHPRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite and packed, and provides error bounds and backward error estimates for the solution. ParametersUPLO UPLO is CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N N is INTEGER The order of the matrix A. N >= 0. NRHS NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. AP AP is COMPLEX array, dimension (N*(N+1)/2) 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 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n. AFP AFP is COMPLEX array, dimension (N*(N+1)/2) The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**H or A = L*D*L**H as computed by CHPTRF, stored as a packed triangular matrix. IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CHPTRF. B B is COMPLEX array, dimension (LDB,NRHS) The right hand side matrix B. LDB LDB is INTEGER The leading dimension of the array B. LDB >= max(1,N). X X is COMPLEX array, dimension (LDX,NRHS) On entry, the solution matrix X, as computed by CHPTRS. On exit, the improved solution matrix X. LDX LDX is INTEGER The leading dimension of the array X. LDX >= max(1,N). FERR FERR is REAL array, dimension (NRHS) The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. BERR BERR is REAL array, dimension (NRHS) The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution). WORK WORK is COMPLEX array, dimension (2*N) RWORK RWORK is REAL array, dimension (N) INFO INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value InternalParameters: ITMAX is the maximum number of steps of iterative refinement. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. subroutinecsprfs(characteruplo,integern,integernrhs,complex,dimension(*)ap,complex,dimension(*)afp,integer,dimension(*)ipiv,complex,dimension(ldb,*)b,integerldb,complex,dimension(ldx,*)x,integerldx,real,dimension(*)ferr,real,dimension(*)berr,complex,dimension(*)work,real,dimension(*)rwork,integerinfo)CSPRFSPurpose: CSPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, and provides error bounds and backward error estimates for the solution. ParametersUPLO UPLO is CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N N is INTEGER The order of the matrix A. N >= 0. NRHS NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. AP AP is COMPLEX array, dimension (N*(N+1)/2) The upper or lower triangle of the symmetric 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 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n. AFP AFP is COMPLEX array, dimension (N*(N+1)/2) The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by CSPTRF, stored as a packed triangular matrix. IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CSPTRF. B B is COMPLEX array, dimension (LDB,NRHS) The right hand side matrix B. LDB LDB is INTEGER The leading dimension of the array B. LDB >= max(1,N). X X is COMPLEX array, dimension (LDX,NRHS) On entry, the solution matrix X, as computed by CSPTRS. On exit, the improved solution matrix X. LDX LDX is INTEGER The leading dimension of the array X. LDX >= max(1,N). FERR FERR is REAL array, dimension (NRHS) The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. BERR BERR is REAL array, dimension (NRHS) The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution). WORK WORK is COMPLEX array, dimension (2*N) RWORK RWORK is REAL array, dimension (N) INFO INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value InternalParameters: ITMAX is the maximum number of steps of iterative refinement. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. subroutinedsprfs(characteruplo,integern,integernrhs,doubleprecision,dimension(*)ap,doubleprecision,dimension(*)afp,integer,dimension(*)ipiv,doubleprecision,dimension(ldb,*)b,integerldb,doubleprecision,dimension(ldx,*)x,integerldx,doubleprecision,dimension(*)ferr,doubleprecision,dimension(*)berr,doubleprecision,dimension(*)work,integer,dimension(*)iwork,integerinfo)DSPRFSPurpose: DSPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, and provides error bounds and backward error estimates for the solution. ParametersUPLO UPLO is CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N N is INTEGER The order of the matrix A. N >= 0. NRHS NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. AP AP is DOUBLE PRECISION array, dimension (N*(N+1)/2) The upper or lower triangle of the symmetric 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 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n. AFP AFP is DOUBLE PRECISION array, dimension (N*(N+1)/2) The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by DSPTRF, stored as a packed triangular matrix. IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by DSPTRF. B B is DOUBLE PRECISION array, dimension (LDB,NRHS) The right hand side matrix B. LDB LDB is INTEGER The leading dimension of the array B. LDB >= max(1,N). X X is DOUBLE PRECISION array, dimension (LDX,NRHS) On entry, the solution matrix X, as computed by DSPTRS. On exit, the improved solution matrix X. LDX LDX is INTEGER The leading dimension of the array X. LDX >= max(1,N). FERR FERR is DOUBLE PRECISION array, dimension (NRHS) The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. BERR BERR is DOUBLE PRECISION array, dimension (NRHS) The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution). WORK WORK is DOUBLE PRECISION array, dimension (3*N) IWORK IWORK is INTEGER array, dimension (N) INFO INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value InternalParameters: ITMAX is the maximum number of steps of iterative refinement. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. subroutinessprfs(characteruplo,integern,integernrhs,real,dimension(*)ap,real,dimension(*)afp,integer,dimension(*)ipiv,real,dimension(ldb,*)b,integerldb,real,dimension(ldx,*)x,integerldx,real,dimension(*)ferr,real,dimension(*)berr,real,dimension(*)work,integer,dimension(*)iwork,integerinfo)SSPRFSPurpose: SSPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, and provides error bounds and backward error estimates for the solution. ParametersUPLO UPLO is CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N N is INTEGER The order of the matrix A. N >= 0. NRHS NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. AP AP is REAL array, dimension (N*(N+1)/2) The upper or lower triangle of the symmetric 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 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n. AFP AFP is REAL array, dimension (N*(N+1)/2) The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by SSPTRF, stored as a packed triangular matrix. IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by SSPTRF. B B is REAL array, dimension (LDB,NRHS) The right hand side matrix B. LDB LDB is INTEGER The leading dimension of the array B. LDB >= max(1,N). X X is REAL array, dimension (LDX,NRHS) On entry, the solution matrix X, as computed by SSPTRS. On exit, the improved solution matrix X. LDX LDX is INTEGER The leading dimension of the array X. LDX >= max(1,N). FERR FERR is REAL array, dimension (NRHS) The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. BERR BERR is REAL array, dimension (NRHS) The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution). WORK WORK is REAL array, dimension (3*N) IWORK IWORK is INTEGER array, dimension (N) INFO INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value InternalParameters: ITMAX is the maximum number of steps of iterative refinement. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. subroutinezhprfs(characteruplo,integern,integernrhs,complex*16,dimension(*)ap,complex*16,dimension(*)afp,integer,dimension(*)ipiv,complex*16,dimension(ldb,*)b,integerldb,complex*16,dimension(ldx,*)x,integerldx,doubleprecision,dimension(*)ferr,doubleprecision,dimension(*)berr,complex*16,dimension(*)work,doubleprecision,dimension(*)rwork,integerinfo)ZHPRFSPurpose: ZHPRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite and packed, and provides error bounds and backward error estimates for the solution. ParametersUPLO UPLO is CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N N is INTEGER The order of the matrix A. N >= 0. NRHS NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. AP AP is COMPLEX*16 array, dimension (N*(N+1)/2) 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 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n. AFP AFP is COMPLEX*16 array, dimension (N*(N+1)/2) The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**H or A = L*D*L**H as computed by ZHPTRF, stored as a packed triangular matrix. IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by ZHPTRF. B B is COMPLEX*16 array, dimension (LDB,NRHS) The right hand side matrix B. LDB LDB is INTEGER The leading dimension of the array B. LDB >= max(1,N). X X is COMPLEX*16 array, dimension (LDX,NRHS) On entry, the solution matrix X, as computed by ZHPTRS. On exit, the improved solution matrix X. LDX LDX is INTEGER The leading dimension of the array X. LDX >= max(1,N). FERR FERR is DOUBLE PRECISION array, dimension (NRHS) The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. BERR BERR is DOUBLE PRECISION array, dimension (NRHS) The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution). WORK WORK is COMPLEX*16 array, dimension (2*N) RWORK RWORK is DOUBLE PRECISION array, dimension (N) INFO INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value InternalParameters: ITMAX is the maximum number of steps of iterative refinement. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. subroutinezsprfs(characteruplo,integern,integernrhs,complex*16,dimension(*)ap,complex*16,dimension(*)afp,integer,dimension(*)ipiv,complex*16,dimension(ldb,*)b,integerldb,complex*16,dimension(ldx,*)x,integerldx,doubleprecision,dimension(*)ferr,doubleprecision,dimension(*)berr,complex*16,dimension(*)work,doubleprecision,dimension(*)rwork,integerinfo)ZSPRFSPurpose: ZSPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, and provides error bounds and backward error estimates for the solution. ParametersUPLO UPLO is CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N N is INTEGER The order of the matrix A. N >= 0. NRHS NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. AP AP is COMPLEX*16 array, dimension (N*(N+1)/2) The upper or lower triangle of the symmetric 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 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n. AFP AFP is COMPLEX*16 array, dimension (N*(N+1)/2) The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by ZSPTRF, stored as a packed triangular matrix. IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by ZSPTRF. B B is COMPLEX*16 array, dimension (LDB,NRHS) The right hand side matrix B. LDB LDB is INTEGER The leading dimension of the array B. LDB >= max(1,N). X X is COMPLEX*16 array, dimension (LDX,NRHS) On entry, the solution matrix X, as computed by ZSPTRS. On exit, the improved solution matrix X. LDX LDX is INTEGER The leading dimension of the array X. LDX >= max(1,N). FERR FERR is DOUBLE PRECISION array, dimension (NRHS) The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. BERR BERR is DOUBLE PRECISION array, dimension (NRHS) The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution). WORK WORK is COMPLEX*16 array, dimension (2*N) RWORK RWORK is DOUBLE PRECISION array, dimension (N) INFO INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value InternalParameters: ITMAX is the maximum number of steps of iterative refinement. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd.

Name

hprfs - {hp,sp}rfs: iterative refinement

Synopsis

Functions subroutine chprfs (uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) CHPRFS subroutine csprfs (uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) CSPRFS subroutine dsprfs (uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) DSPRFS subroutine ssprfs (uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) SSPRFS subroutine zhprfs (uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) ZHPRFS subroutine zsprfs (uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) ZSPRFS

See Also