LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
schkqrt.f
Go to the documentation of this file.
00001 *> \brief \b SCHKQRT
00002 *
00003 *  =========== DOCUMENTATION ===========
00004 *
00005 * Online html documentation available at 
00006 *            http://www.netlib.org/lapack/explore-html/ 
00007 *
00008 *  Definition:
00009 *  ===========
00010 *
00011 *       SUBROUTINE SCHKQRT( THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, 
00012 *                           NBVAL, NOUT )
00013 * 
00014 *       .. Scalar Arguments ..
00015 *       LOGICAL            TSTERR
00016 *       INTEGER            NM, NN, NNB, NOUT
00017 *       REAL               THRESH
00018 
00019 *
00020 *> \par Purpose:
00021 *  =============
00022 *>
00023 *> \verbatim
00024 *>
00025 *> SCHKQRT tests SGEQRT and SGEMQRT.
00026 *> \endverbatim
00027 *
00028 *  Arguments:
00029 *  ==========
00030 *
00031 *> \param[in] THRESH
00032 *> \verbatim
00033 *>          THRESH is REAL
00034 *>          The threshold value for the test ratios.  A result is
00035 *>          included in the output file if RESULT >= THRESH.  To have
00036 *>          every test ratio printed, use THRESH = 0.
00037 *> \endverbatim
00038 *>
00039 *> \param[in] TSTERR
00040 *> \verbatim
00041 *>          TSTERR is LOGICAL
00042 *>          Flag that indicates whether error exits are to be tested.
00043 *> \endverbatim
00044 *>
00045 *> \param[in] NM
00046 *> \verbatim
00047 *>          NM is INTEGER
00048 *>          The number of values of M contained in the vector MVAL.
00049 *> \endverbatim
00050 *>
00051 *> \param[in] MVAL
00052 *> \verbatim
00053 *>          MVAL is INTEGER array, dimension (NM)
00054 *>          The values of the matrix row dimension M.
00055 *> \endverbatim
00056 *>
00057 *> \param[in] NN
00058 *> \verbatim
00059 *>          NN is INTEGER
00060 *>          The number of values of N contained in the vector NVAL.
00061 *> \endverbatim
00062 *>
00063 *> \param[in] NVAL
00064 *> \verbatim
00065 *>          NVAL is INTEGER array, dimension (NN)
00066 *>          The values of the matrix column dimension N.
00067 *> \endverbatim
00068 *>
00069 *> \param[in] NNB
00070 *> \verbatim
00071 *>          NNB is INTEGER
00072 *>          The number of values of NB contained in the vector NBVAL.
00073 *> \endverbatim
00074 *>
00075 *> \param[in] NBVAL
00076 *> \verbatim
00077 *>          NBVAL is INTEGER array, dimension (NBVAL)
00078 *>          The values of the blocksize NB.
00079 *> \endverbatim
00080 *>
00081 *> \param[in] NOUT
00082 *> \verbatim
00083 *>          NOUT is INTEGER
00084 *>          The unit number for output.
00085 *> \endverbatim
00086 *
00087 *  Authors:
00088 *  ========
00089 *
00090 *> \author Univ. of Tennessee 
00091 *> \author Univ. of California Berkeley 
00092 *> \author Univ. of Colorado Denver 
00093 *> \author NAG Ltd. 
00094 *
00095 *> \date November 2011
00096 *
00097 *> \ingroup single_lin
00098 *
00099 *  =====================================================================
00100       SUBROUTINE SCHKQRT( THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, 
00101      $                    NBVAL, NOUT )
00102       IMPLICIT NONE
00103 *
00104 *  -- LAPACK test routine (version 3.4.0) --
00105 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00106 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00107 *     November 2011
00108 *
00109 *     .. Scalar Arguments ..
00110       LOGICAL            TSTERR
00111       INTEGER            NM, NN, NNB, NOUT
00112       REAL               THRESH
00113 *     ..
00114 *     .. Array Arguments ..
00115       INTEGER            MVAL( * ), NBVAL( * ), NVAL( * )
00116 *
00117 *  =====================================================================
00118 *
00119 *     .. Parameters ..
00120       INTEGER            NTESTS
00121       PARAMETER          ( NTESTS = 6 )
00122 *     ..
00123 *     .. Local Scalars ..
00124       CHARACTER*3        PATH
00125       INTEGER            I, J, K, T, M, N, NB, NFAIL, NERRS, NRUN, 
00126      $                   MINMN
00127 *     ..
00128 *     .. Local Arrays ..
00129       REAL               RESULT( NTESTS )
00130 *     ..
00131 *     .. External Subroutines ..
00132       EXTERNAL           ALAERH, ALAHD, ALASUM, SERRQRT, SQRT04
00133 *     ..
00134 *     .. Scalars in Common ..
00135       LOGICAL            LERR, OK
00136       CHARACTER*32       SRNAMT
00137       INTEGER            INFOT, NUNIT
00138 *     ..
00139 *     .. Common blocks ..
00140       COMMON             / INFOC / INFOT, NUNIT, OK, LERR
00141       COMMON             / SRNAMC / SRNAMT
00142 *     ..
00143 *     .. Executable Statements ..
00144 *
00145 *     Initialize constants
00146 *
00147       PATH( 1: 1 ) = 'S'
00148       PATH( 2: 3 ) = 'QT'
00149       NRUN = 0
00150       NFAIL = 0
00151       NERRS = 0
00152 *
00153 *     Test the error exits
00154 *
00155       IF( TSTERR ) CALL SERRQRT( PATH, NOUT )
00156       INFOT = 0
00157 *
00158 *     Do for each value of M in MVAL.
00159 *
00160       DO I = 1, NM
00161          M = MVAL( I )
00162 *
00163 *        Do for each value of N in NVAL.
00164 *
00165          DO J = 1, NN
00166             N = NVAL( J )
00167 *
00168 *        Do for each possible value of NB
00169 *
00170             MINMN = MIN( M, N )
00171             DO K = 1, NNB
00172                NB = NBVAL( K )
00173                IF( (NB.LE.MINMN).AND.(NB.GT.0) ) THEN
00174 *
00175 *                 Test SGEQRT and SGEMQRT
00176 *     
00177                   CALL SQRT04( M, N, NB, RESULT )
00178 *
00179 *                 Print information about the tests that did not
00180 *                 pass the threshold.
00181 *
00182                   DO T = 1, NTESTS
00183                      IF( RESULT( T ).GE.THRESH ) THEN
00184                         IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 )
00185      $                       CALL ALAHD( NOUT, PATH )
00186                         WRITE( NOUT, FMT = 9999 )M, N, NB,
00187      $                       T, RESULT( T )
00188                         NFAIL = NFAIL + 1
00189                      END IF
00190                   END DO
00191                   NRUN = NRUN + NTESTS
00192                END IF
00193             END DO
00194          END DO
00195       END DO
00196 *
00197 *     Print a summary of the results.
00198 *
00199       CALL ALASUM( PATH, NOUT, NFAIL, NRUN, NERRS )
00200 *
00201  9999 FORMAT( ' M=', I5, ', N=', I5, ', NB=', I4,
00202      $      ' test(', I2, ')=', G12.5 )
00203       RETURN
00204 *
00205 *     End of SCHKQRT
00206 *
00207       END
 All Files Functions