LAPACK
3.6.1
LAPACK: Linear Algebra PACKage
|
subroutine dtpt01 | ( | character | UPLO, |
character | DIAG, | ||
integer | N, | ||
double precision, dimension( * ) | AP, | ||
double precision, dimension( * ) | AINVP, | ||
double precision | RCOND, | ||
double precision, dimension( * ) | WORK, | ||
double precision | RESID | ||
) |
DTPT01
DTPT01 computes the residual for a triangular matrix A times its inverse when A is stored in packed format: RESID = norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ), where EPS is the machine epsilon.
[in] | UPLO | UPLO is CHARACTER*1 Specifies whether the matrix A is upper or lower triangular. = 'U': Upper triangular = 'L': Lower triangular |
[in] | DIAG | DIAG is CHARACTER*1 Specifies whether or not the matrix A is unit triangular. = 'N': Non-unit triangular = 'U': Unit triangular |
[in] | N | N is INTEGER The order of the matrix A. N >= 0. |
[in] | AP | AP is DOUBLE PRECISION array, dimension (N*(N+1)/2) The original upper or lower triangular 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((j-1)*j/2 + i) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP((j-1)*(n-j) + j*(j+1)/2 + i-j) = A(i,j) for j<=i<=n. |
[in,out] | AINVP | AINVP is DOUBLE PRECISION array, dimension (N*(N+1)/2) On entry, the (triangular) inverse of the matrix A, packed columnwise in a linear array as in AP. On exit, the contents of AINVP are destroyed. |
[out] | RCOND | RCOND is DOUBLE PRECISION The reciprocal condition number of A, computed as 1/(norm(A) * norm(AINV)). |
[out] | WORK | WORK is DOUBLE PRECISION array, dimension (N) |
[out] | RESID | RESID is DOUBLE PRECISION norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ) |
Definition at line 110 of file dtpt01.f.