LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine dpst01 | ( | character | uplo, |
integer | n, | ||
double precision, dimension( lda, * ) | a, | ||
integer | lda, | ||
double precision, dimension( ldafac, * ) | afac, | ||
integer | ldafac, | ||
double precision, dimension( ldperm, * ) | perm, | ||
integer | ldperm, | ||
integer, dimension( * ) | piv, | ||
double precision, dimension( * ) | rwork, | ||
double precision | resid, | ||
integer | rank ) |
DPST01
!> !> DPST01 reconstructs a symmetric positive semidefinite matrix A !> from its L or U factors and the permutation matrix P and computes !> the residual !> norm( P*L*L'*P' - A ) / ( N * norm(A) * EPS ) or !> norm( P*U'*U*P' - A ) / ( N * norm(A) * EPS ), !> where EPS is the machine epsilon. !>
[in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
[in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
[in] | A | !> A is DOUBLE PRECISION array, dimension (LDA,N) !> The original symmetric matrix A. !> |
[in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
[in] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (LDAFAC,N) !> The factor L or U from the L*L' or U'*U !> factorization of A. !> |
[in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
[out] | PERM | !> PERM is DOUBLE PRECISION array, dimension (LDPERM,N) !> Overwritten with the reconstructed matrix, and then with the !> difference P*L*L'*P' - A (or P*U'*U*P' - A) !> |
[in] | LDPERM | !> LDPERM is INTEGER !> The leading dimension of the array PERM. !> LDAPERM >= max(1,N). !> |
[in] | PIV | !> PIV is INTEGER array, dimension (N) !> PIV is such that the nonzero entries are !> P( PIV( K ), K ) = 1. !> |
[out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
[out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U'*U - A) / ( N * norm(A) * EPS ) !> |
[in] | RANK | !> RANK is INTEGER !> number of nonzero singular values of A. !> |
Definition at line 132 of file dpst01.f.