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