![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
00001 *> \brief \b ZERRRFP 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 ZERRRFP( NUNIT ) 00012 * 00013 * .. Scalar Arguments .. 00014 * INTEGER NUNIT 00015 * .. 00016 * 00017 * 00018 *> \par Purpose: 00019 * ============= 00020 *> 00021 *> \verbatim 00022 *> 00023 *> ZERRRFP tests the error exits for the COMPLEX*16 driver routines 00024 *> for solving linear systems of equations. 00025 *> 00026 *> ZDRVRFP tests the COMPLEX*16 LAPACK RFP routines: 00027 *> ZTFSM, ZTFTRI, ZHFRK, ZTFTTP, ZTFTTR, ZPFTRF, ZPFTRS, ZTPTTF, 00028 *> ZTPTTR, ZTRTTF, and ZTRTTP 00029 *> \endverbatim 00030 * 00031 * Arguments: 00032 * ========== 00033 * 00034 *> \param[in] NUNIT 00035 *> \verbatim 00036 *> NUNIT is INTEGER 00037 *> The unit number for output. 00038 *> \endverbatim 00039 * 00040 * Authors: 00041 * ======== 00042 * 00043 *> \author Univ. of Tennessee 00044 *> \author Univ. of California Berkeley 00045 *> \author Univ. of Colorado Denver 00046 *> \author NAG Ltd. 00047 * 00048 *> \date November 2011 00049 * 00050 *> \ingroup complex16_lin 00051 * 00052 * ===================================================================== 00053 SUBROUTINE ZERRRFP( NUNIT ) 00054 * 00055 * -- LAPACK test routine (version 3.4.0) -- 00056 * -- LAPACK is a software package provided by Univ. of Tennessee, -- 00057 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 00058 * November 2011 00059 * 00060 * .. Scalar Arguments .. 00061 INTEGER NUNIT 00062 * .. 00063 * 00064 * ===================================================================== 00065 * 00066 * .. 00067 * .. Local Scalars .. 00068 INTEGER INFO 00069 DOUBLE PRECISION ALPHA, BETA 00070 COMPLEX*16 CALPHA 00071 * .. 00072 * .. Local Arrays .. 00073 COMPLEX*16 A( 1, 1), B( 1, 1) 00074 * .. 00075 * .. External Subroutines .. 00076 EXTERNAL CHKXER, ZTFSM, ZTFTRI, ZHFRK, ZTFTTP, ZTFTTR, 00077 + ZPFTRI, ZPFTRF, ZPFTRS, ZTPTTF, ZTPTTR, ZTRTTF, 00078 + ZTRTTP 00079 * .. 00080 * .. Scalars in Common .. 00081 LOGICAL LERR, OK 00082 CHARACTER*32 SRNAMT 00083 INTEGER INFOT, NOUT 00084 * .. 00085 * .. Intrinsic Functions .. 00086 INTRINSIC DCMPLX 00087 * .. 00088 * .. Common blocks .. 00089 COMMON / INFOC / INFOT, NOUT, OK, LERR 00090 COMMON / SRNAMC / SRNAMT 00091 * .. 00092 * .. Executable Statements .. 00093 * 00094 NOUT = NUNIT 00095 OK = .TRUE. 00096 A( 1, 1 ) = DCMPLX( 1.0D0 , 1.0D0 ) 00097 B( 1, 1 ) = DCMPLX( 1.0D0 , 1.0D0 ) 00098 ALPHA = 1.0D0 00099 CALPHA = DCMPLX( 1.0D0 , 1.0D0 ) 00100 BETA = 1.0D0 00101 * 00102 SRNAMT = 'ZPFTRF' 00103 INFOT = 1 00104 CALL ZPFTRF( '/', 'U', 0, A, INFO ) 00105 CALL CHKXER( 'ZPFTRF', INFOT, NOUT, LERR, OK ) 00106 INFOT = 2 00107 CALL ZPFTRF( 'N', '/', 0, A, INFO ) 00108 CALL CHKXER( 'ZPFTRF', INFOT, NOUT, LERR, OK ) 00109 INFOT = 3 00110 CALL ZPFTRF( 'N', 'U', -1, A, INFO ) 00111 CALL CHKXER( 'ZPFTRF', INFOT, NOUT, LERR, OK ) 00112 * 00113 SRNAMT = 'ZPFTRS' 00114 INFOT = 1 00115 CALL ZPFTRS( '/', 'U', 0, 0, A, B, 1, INFO ) 00116 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 00117 INFOT = 2 00118 CALL ZPFTRS( 'N', '/', 0, 0, A, B, 1, INFO ) 00119 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 00120 INFOT = 3 00121 CALL ZPFTRS( 'N', 'U', -1, 0, A, B, 1, INFO ) 00122 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 00123 INFOT = 4 00124 CALL ZPFTRS( 'N', 'U', 0, -1, A, B, 1, INFO ) 00125 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 00126 INFOT = 7 00127 CALL ZPFTRS( 'N', 'U', 0, 0, A, B, 0, INFO ) 00128 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 00129 * 00130 SRNAMT = 'ZPFTRI' 00131 INFOT = 1 00132 CALL ZPFTRI( '/', 'U', 0, A, INFO ) 00133 CALL CHKXER( 'ZPFTRI', INFOT, NOUT, LERR, OK ) 00134 INFOT = 2 00135 CALL ZPFTRI( 'N', '/', 0, A, INFO ) 00136 CALL CHKXER( 'ZPFTRI', INFOT, NOUT, LERR, OK ) 00137 INFOT = 3 00138 CALL ZPFTRI( 'N', 'U', -1, A, INFO ) 00139 CALL CHKXER( 'ZPFTRI', INFOT, NOUT, LERR, OK ) 00140 * 00141 SRNAMT = 'ZTFSM ' 00142 INFOT = 1 00143 CALL ZTFSM( '/', 'L', 'U', 'C', 'U', 0, 0, CALPHA, A, B, 1 ) 00144 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 00145 INFOT = 2 00146 CALL ZTFSM( 'N', '/', 'U', 'C', 'U', 0, 0, CALPHA, A, B, 1 ) 00147 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 00148 INFOT = 3 00149 CALL ZTFSM( 'N', 'L', '/', 'C', 'U', 0, 0, CALPHA, A, B, 1 ) 00150 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 00151 INFOT = 4 00152 CALL ZTFSM( 'N', 'L', 'U', '/', 'U', 0, 0, CALPHA, A, B, 1 ) 00153 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 00154 INFOT = 5 00155 CALL ZTFSM( 'N', 'L', 'U', 'C', '/', 0, 0, CALPHA, A, B, 1 ) 00156 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 00157 INFOT = 6 00158 CALL ZTFSM( 'N', 'L', 'U', 'C', 'U', -1, 0, CALPHA, A, B, 1 ) 00159 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 00160 INFOT = 7 00161 CALL ZTFSM( 'N', 'L', 'U', 'C', 'U', 0, -1, CALPHA, A, B, 1 ) 00162 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 00163 INFOT = 11 00164 CALL ZTFSM( 'N', 'L', 'U', 'C', 'U', 0, 0, CALPHA, A, B, 0 ) 00165 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 00166 * 00167 SRNAMT = 'ZTFTRI' 00168 INFOT = 1 00169 CALL ZTFTRI( '/', 'L', 'N', 0, A, INFO ) 00170 CALL CHKXER( 'ZTFTRI', INFOT, NOUT, LERR, OK ) 00171 INFOT = 2 00172 CALL ZTFTRI( 'N', '/', 'N', 0, A, INFO ) 00173 CALL CHKXER( 'ZTFTRI', INFOT, NOUT, LERR, OK ) 00174 INFOT = 3 00175 CALL ZTFTRI( 'N', 'L', '/', 0, A, INFO ) 00176 CALL CHKXER( 'ZTFTRI', INFOT, NOUT, LERR, OK ) 00177 INFOT = 4 00178 CALL ZTFTRI( 'N', 'L', 'N', -1, A, INFO ) 00179 CALL CHKXER( 'ZTFTRI', INFOT, NOUT, LERR, OK ) 00180 * 00181 SRNAMT = 'ZTFTTR' 00182 INFOT = 1 00183 CALL ZTFTTR( '/', 'U', 0, A, B, 1, INFO ) 00184 CALL CHKXER( 'ZTFTTR', INFOT, NOUT, LERR, OK ) 00185 INFOT = 2 00186 CALL ZTFTTR( 'N', '/', 0, A, B, 1, INFO ) 00187 CALL CHKXER( 'ZTFTTR', INFOT, NOUT, LERR, OK ) 00188 INFOT = 3 00189 CALL ZTFTTR( 'N', 'U', -1, A, B, 1, INFO ) 00190 CALL CHKXER( 'ZTFTTR', INFOT, NOUT, LERR, OK ) 00191 INFOT = 6 00192 CALL ZTFTTR( 'N', 'U', 0, A, B, 0, INFO ) 00193 CALL CHKXER( 'ZTFTTR', INFOT, NOUT, LERR, OK ) 00194 * 00195 SRNAMT = 'ZTRTTF' 00196 INFOT = 1 00197 CALL ZTRTTF( '/', 'U', 0, A, 1, B, INFO ) 00198 CALL CHKXER( 'ZTRTTF', INFOT, NOUT, LERR, OK ) 00199 INFOT = 2 00200 CALL ZTRTTF( 'N', '/', 0, A, 1, B, INFO ) 00201 CALL CHKXER( 'ZTRTTF', INFOT, NOUT, LERR, OK ) 00202 INFOT = 3 00203 CALL ZTRTTF( 'N', 'U', -1, A, 1, B, INFO ) 00204 CALL CHKXER( 'ZTRTTF', INFOT, NOUT, LERR, OK ) 00205 INFOT = 5 00206 CALL ZTRTTF( 'N', 'U', 0, A, 0, B, INFO ) 00207 CALL CHKXER( 'ZTRTTF', INFOT, NOUT, LERR, OK ) 00208 * 00209 SRNAMT = 'ZTFTTP' 00210 INFOT = 1 00211 CALL ZTFTTP( '/', 'U', 0, A, B, INFO ) 00212 CALL CHKXER( 'ZTFTTP', INFOT, NOUT, LERR, OK ) 00213 INFOT = 2 00214 CALL ZTFTTP( 'N', '/', 0, A, B, INFO ) 00215 CALL CHKXER( 'ZTFTTP', INFOT, NOUT, LERR, OK ) 00216 INFOT = 3 00217 CALL ZTFTTP( 'N', 'U', -1, A, B, INFO ) 00218 CALL CHKXER( 'ZTFTTP', INFOT, NOUT, LERR, OK ) 00219 * 00220 SRNAMT = 'ZTPTTF' 00221 INFOT = 1 00222 CALL ZTPTTF( '/', 'U', 0, A, B, INFO ) 00223 CALL CHKXER( 'ZTPTTF', INFOT, NOUT, LERR, OK ) 00224 INFOT = 2 00225 CALL ZTPTTF( 'N', '/', 0, A, B, INFO ) 00226 CALL CHKXER( 'ZTPTTF', INFOT, NOUT, LERR, OK ) 00227 INFOT = 3 00228 CALL ZTPTTF( 'N', 'U', -1, A, B, INFO ) 00229 CALL CHKXER( 'ZTPTTF', INFOT, NOUT, LERR, OK ) 00230 * 00231 SRNAMT = 'ZTRTTP' 00232 INFOT = 1 00233 CALL ZTRTTP( '/', 0, A, 1, B, INFO ) 00234 CALL CHKXER( 'ZTRTTP', INFOT, NOUT, LERR, OK ) 00235 INFOT = 2 00236 CALL ZTRTTP( 'U', -1, A, 1, B, INFO ) 00237 CALL CHKXER( 'ZTRTTP', INFOT, NOUT, LERR, OK ) 00238 INFOT = 4 00239 CALL ZTRTTP( 'U', 0, A, 0, B, INFO ) 00240 CALL CHKXER( 'ZTRTTP', INFOT, NOUT, LERR, OK ) 00241 * 00242 SRNAMT = 'ZTPTTR' 00243 INFOT = 1 00244 CALL ZTPTTR( '/', 0, A, B, 1, INFO ) 00245 CALL CHKXER( 'ZTPTTR', INFOT, NOUT, LERR, OK ) 00246 INFOT = 2 00247 CALL ZTPTTR( 'U', -1, A, B, 1, INFO ) 00248 CALL CHKXER( 'ZTPTTR', INFOT, NOUT, LERR, OK ) 00249 INFOT = 5 00250 CALL ZTPTTR( 'U', 0, A, B, 0, INFO ) 00251 CALL CHKXER( 'ZTPTTR', INFOT, NOUT, LERR, OK ) 00252 * 00253 SRNAMT = 'ZHFRK ' 00254 INFOT = 1 00255 CALL ZHFRK( '/', 'U', 'N', 0, 0, ALPHA, A, 1, BETA, B ) 00256 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 00257 INFOT = 2 00258 CALL ZHFRK( 'N', '/', 'N', 0, 0, ALPHA, A, 1, BETA, B ) 00259 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 00260 INFOT = 3 00261 CALL ZHFRK( 'N', 'U', '/', 0, 0, ALPHA, A, 1, BETA, B ) 00262 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 00263 INFOT = 4 00264 CALL ZHFRK( 'N', 'U', 'N', -1, 0, ALPHA, A, 1, BETA, B ) 00265 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 00266 INFOT = 5 00267 CALL ZHFRK( 'N', 'U', 'N', 0, -1, ALPHA, A, 1, BETA, B ) 00268 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 00269 INFOT = 8 00270 CALL ZHFRK( 'N', 'U', 'N', 0, 0, ALPHA, A, 0, BETA, B ) 00271 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 00272 * 00273 * Print a summary line. 00274 * 00275 IF( OK ) THEN 00276 WRITE( NOUT, FMT = 9999 ) 00277 ELSE 00278 WRITE( NOUT, FMT = 9998 ) 00279 END IF 00280 * 00281 9999 FORMAT( 1X, 'COMPLEX*16 RFP routines passed the tests of the ', 00282 $ 'error exits' ) 00283 9998 FORMAT( ' *** RFP routines failed the tests of the error ', 00284 $ 'exits ***' ) 00285 RETURN 00286 * 00287 * End of ZERRRFP 00288 * 00289 END