Update the LAPACK testsuite to match 3.10.1

This commit is contained in:
martin-frbg
2022-05-11 18:40:55 +02:00
parent 510c7222ef
commit ffb4f04fbb
1214 changed files with 3605 additions and 5706 deletions

View File

@@ -28,9 +28,10 @@
*> \verbatim
*>
*> CGET02 computes the residual for a solution of a system of linear
*> equations A*x = b or A'*x = b:
*> RESID = norm(B - A*X) / ( norm(A) * norm(X) * EPS ),
*> where EPS is the machine epsilon.
*> equations op(A)*X = B:
*> RESID = norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ),
*> where op(A) = A, A**T, or A**H, depending on TRANS, and EPS is the
*> machine epsilon.
*> \endverbatim
*
* Arguments:
@@ -40,9 +41,9 @@
*> \verbatim
*> TRANS is CHARACTER*1
*> Specifies the form of the system of equations:
*> = 'N': A *x = b
*> = 'T': A^T*x = b, where A^T is the transpose of A
*> = 'C': A^H*x = b, where A^H is the conjugate transpose of A
*> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose)
*> = 'C': A**H * X = B (Conjugate transpose)
*> \endverbatim
*>
*> \param[in] M
@@ -95,7 +96,7 @@
*> B is COMPLEX array, dimension (LDB,NRHS)
*> On entry, the right hand side vectors for the system of
*> linear equations.
*> On exit, B is overwritten with the difference B - A*X.
*> On exit, B is overwritten with the difference B - op(A)*X.
*> \endverbatim
*>
*> \param[in] LDB
@@ -114,7 +115,7 @@
*> \verbatim
*> RESID is REAL
*> The maximum over the number of right hand sides of
*> norm(B - A*X) / ( norm(A) * norm(X) * EPS ).
*> norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ).
*> \endverbatim
*
* Authors:
@@ -125,18 +126,15 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_lin
*
* =====================================================================
SUBROUTINE CGET02( TRANS, M, N, NRHS, A, LDA, X, LDX, B, LDB,
$ RWORK, RESID )
*
* -- LAPACK test routine (version 3.7.0) --
* -- LAPACK test routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
CHARACTER TRANS
@@ -191,19 +189,23 @@
* Exit with RESID = 1/EPS if ANORM = 0.
*
EPS = SLAMCH( 'Epsilon' )
IF( LSAME( TRANS, 'N' ) ) THEN
ANORM = CLANGE( '1', M, N, A, LDA, RWORK )
ELSE
ANORM = CLANGE( 'I', M, N, A, LDA, RWORK )
END IF
IF( ANORM.LE.ZERO ) THEN
RESID = ONE / EPS
RETURN
END IF
*
* Compute B - A*X (or B - A'*X ) and store in B.
* Compute B - op(A)*X and store in B.
*
CALL CGEMM( TRANS, 'No transpose', N1, NRHS, N2, -CONE, A, LDA, X,
$ LDX, CONE, B, LDB )
*
* Compute the maximum over the number of right hand sides of
* norm(B - A*X) / ( norm(A) * norm(X) * EPS ) .
* norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ) .
*
RESID = ZERO
DO 10 J = 1, NRHS