LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
cerrgex.f
Go to the documentation of this file.
00001 *> \brief \b CERRGEX
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 CERRGE( PATH, NUNIT )
00012 * 
00013 *       .. Scalar Arguments ..
00014 *       CHARACTER*3        PATH
00015 *       INTEGER            NUNIT
00016 *       ..
00017 *  
00018 *
00019 *> \par Purpose:
00020 *  =============
00021 *>
00022 *> \verbatim
00023 *>
00024 *> CERRGE tests the error exits for the COMPLEX routines
00025 *> for general matrices.
00026 *>
00027 *> Note that this file is used only when the XBLAS are available,
00028 *> otherwise cerrge.f defines this subroutine.
00029 *> \endverbatim
00030 *
00031 *  Arguments:
00032 *  ==========
00033 *
00034 *> \param[in] PATH
00035 *> \verbatim
00036 *>          PATH is CHARACTER*3
00037 *>          The LAPACK path name for the routines to be tested.
00038 *> \endverbatim
00039 *>
00040 *> \param[in] NUNIT
00041 *> \verbatim
00042 *>          NUNIT is INTEGER
00043 *>          The unit number for output.
00044 *> \endverbatim
00045 *
00046 *  Authors:
00047 *  ========
00048 *
00049 *> \author Univ. of Tennessee 
00050 *> \author Univ. of California Berkeley 
00051 *> \author Univ. of Colorado Denver 
00052 *> \author NAG Ltd. 
00053 *
00054 *> \date November 2011
00055 *
00056 *> \ingroup complex_lin
00057 *
00058 *  =====================================================================
00059       SUBROUTINE CERRGE( PATH, NUNIT )
00060 *
00061 *  -- LAPACK test routine (version 3.4.0) --
00062 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00063 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00064 *     November 2011
00065 *
00066 *     .. Scalar Arguments ..
00067       CHARACTER*3        PATH
00068       INTEGER            NUNIT
00069 *     ..
00070 *
00071 *  =====================================================================
00072 *
00073 *     .. Parameters ..
00074       INTEGER            NMAX
00075       PARAMETER          ( NMAX = 4 )
00076 *     ..
00077 *     .. Local Scalars ..
00078       CHARACTER          EQ
00079       CHARACTER*2        C2
00080       INTEGER            I, INFO, J, N_ERR_BNDS, NPARAMS
00081       REAL               ANRM, CCOND, RCOND, BERR
00082 *     ..
00083 *     .. Local Arrays ..
00084       INTEGER            IP( NMAX )
00085       REAL               R( NMAX ), R1( NMAX ), R2( NMAX ), CS( NMAX ),
00086      $                   RS( NMAX )
00087       COMPLEX            A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
00088      $                   W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ),
00089      $                   ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
00090 *     ..
00091 *     .. External Functions ..
00092       LOGICAL            LSAMEN
00093       EXTERNAL           LSAMEN
00094 *     ..
00095 *     .. External Subroutines ..
00096       EXTERNAL           ALAESM, CGBCON, CGBEQU, CGBRFS, CGBTF2, CGBTRF,
00097      $                   CGBTRS, CGECON, CGEEQU, CGERFS, CGETF2, CGETRF,
00098      $                   CGETRI, CGETRS, CHKXER, CGEEQUB, CGERFSX,
00099      $                   CGBEQUB, CGBRFSX
00100 *     ..
00101 *     .. Scalars in Common ..
00102       LOGICAL            LERR, OK
00103       CHARACTER*32       SRNAMT
00104       INTEGER            INFOT, NOUT
00105 *     ..
00106 *     .. Common blocks ..
00107       COMMON             / INFOC / INFOT, NOUT, OK, LERR
00108       COMMON             / SRNAMC / SRNAMT
00109 *     ..
00110 *     .. Intrinsic Functions ..
00111       INTRINSIC          CMPLX, REAL
00112 *     ..
00113 *     .. Executable Statements ..
00114 *
00115       NOUT = NUNIT
00116       WRITE( NOUT, FMT = * )
00117       C2 = PATH( 2: 3 )
00118 *
00119 *     Set the variables to innocuous values.
00120 *
00121       DO 20 J = 1, NMAX
00122          DO 10 I = 1, NMAX
00123             A( I, J ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) )
00124             AF( I, J ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) )
00125    10    CONTINUE
00126          B( J ) = 0.
00127          R1( J ) = 0.
00128          R2( J ) = 0.
00129          W( J ) = 0.
00130          X( J ) = 0.
00131          CS( J ) = 0.
00132          RS( J ) = 0.
00133          IP( J ) = J
00134    20 CONTINUE
00135       OK = .TRUE.
00136 *
00137 *     Test error exits of the routines that use the LU decomposition
00138 *     of a general matrix.
00139 *
00140       IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00141 *
00142 *        CGETRF
00143 *
00144          SRNAMT = 'CGETRF'
00145          INFOT = 1
00146          CALL CGETRF( -1, 0, A, 1, IP, INFO )
00147          CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK )
00148          INFOT = 2
00149          CALL CGETRF( 0, -1, A, 1, IP, INFO )
00150          CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK )
00151          INFOT = 4
00152          CALL CGETRF( 2, 1, A, 1, IP, INFO )
00153          CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK )
00154 *
00155 *        CGETF2
00156 *
00157          SRNAMT = 'CGETF2'
00158          INFOT = 1
00159          CALL CGETF2( -1, 0, A, 1, IP, INFO )
00160          CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK )
00161          INFOT = 2
00162          CALL CGETF2( 0, -1, A, 1, IP, INFO )
00163          CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK )
00164          INFOT = 4
00165          CALL CGETF2( 2, 1, A, 1, IP, INFO )
00166          CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK )
00167 *
00168 *        CGETRI
00169 *
00170          SRNAMT = 'CGETRI'
00171          INFOT = 1
00172          CALL CGETRI( -1, A, 1, IP, W, 1, INFO )
00173          CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK )
00174          INFOT = 3
00175          CALL CGETRI( 2, A, 1, IP, W, 2, INFO )
00176          CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK )
00177          INFOT = 6
00178          CALL CGETRI( 2, A, 2, IP, W, 1, INFO )
00179          CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK )
00180 *
00181 *        CGETRS
00182 *
00183          SRNAMT = 'CGETRS'
00184          INFOT = 1
00185          CALL CGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO )
00186          CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK )
00187          INFOT = 2
00188          CALL CGETRS( 'N', -1, 0, A, 1, IP, B, 1, INFO )
00189          CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK )
00190          INFOT = 3
00191          CALL CGETRS( 'N', 0, -1, A, 1, IP, B, 1, INFO )
00192          CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK )
00193          INFOT = 5
00194          CALL CGETRS( 'N', 2, 1, A, 1, IP, B, 2, INFO )
00195          CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK )
00196          INFOT = 8
00197          CALL CGETRS( 'N', 2, 1, A, 2, IP, B, 1, INFO )
00198          CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK )
00199 *
00200 *        CGERFS
00201 *
00202          SRNAMT = 'CGERFS'
00203          INFOT = 1
00204          CALL CGERFS( '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, W,
00205      $                R, INFO )
00206          CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK )
00207          INFOT = 2
00208          CALL CGERFS( 'N', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
00209      $                W, R, INFO )
00210          CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK )
00211          INFOT = 3
00212          CALL CGERFS( 'N', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
00213      $                W, R, INFO )
00214          CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK )
00215          INFOT = 5
00216          CALL CGERFS( 'N', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W,
00217      $                R, INFO )
00218          CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK )
00219          INFOT = 7
00220          CALL CGERFS( 'N', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W,
00221      $                R, INFO )
00222          CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK )
00223          INFOT = 10
00224          CALL CGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W,
00225      $                R, INFO )
00226          CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK )
00227          INFOT = 12
00228          CALL CGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W,
00229      $                R, INFO )
00230          CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK )
00231 *
00232 *        CGERFSX
00233 *
00234          N_ERR_BNDS = 3
00235          NPARAMS = 0
00236          SRNAMT = 'CGERFSX'
00237          INFOT = 1
00238          CALL CGERFSX( '/', EQ, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X,
00239      $                1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00240      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00241          CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK )
00242          INFOT = 2
00243          EQ = '/'
00244          CALL CGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X,
00245      $                2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00246      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00247          CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK )
00248          INFOT = 3
00249          EQ = 'R'
00250          CALL CGERFSX( 'N', EQ, -1, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X,
00251      $                1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00252      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00253          CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK )
00254          INFOT = 4
00255          CALL CGERFSX( 'N', EQ, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 1, X,
00256      $                1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00257      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00258          CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK )
00259          INFOT = 6
00260          CALL CGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X,
00261      $                2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00262      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00263          CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK )
00264          INFOT = 8
00265          CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 1, IP, RS, CS, B, 2, X,
00266      $                2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00267      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00268          CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK )
00269          INFOT = 13
00270          EQ = 'C'
00271          CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 1, X,
00272      $                2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00273      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00274          CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK )
00275          INFOT = 15
00276          CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 2, X,
00277      $                1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00278      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00279          CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK )
00280 *
00281 *        CGECON
00282 *
00283          SRNAMT = 'CGECON'
00284          INFOT = 1
00285          CALL CGECON( '/', 0, A, 1, ANRM, RCOND, W, R, INFO )
00286          CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK )
00287          INFOT = 2
00288          CALL CGECON( '1', -1, A, 1, ANRM, RCOND, W, R, INFO )
00289          CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK )
00290          INFOT = 4
00291          CALL CGECON( '1', 2, A, 1, ANRM, RCOND, W, R, INFO )
00292          CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK )
00293 *
00294 *        CGEEQU
00295 *
00296          SRNAMT = 'CGEEQU'
00297          INFOT = 1
00298          CALL CGEEQU( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00299          CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK )
00300          INFOT = 2
00301          CALL CGEEQU( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00302          CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK )
00303          INFOT = 4
00304          CALL CGEEQU( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00305          CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK )
00306 *
00307 *        CGEEQUB
00308 *
00309          SRNAMT = 'CGEEQUB'
00310          INFOT = 1
00311          CALL CGEEQUB( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00312          CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK )
00313          INFOT = 2
00314          CALL CGEEQUB( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00315          CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK )
00316          INFOT = 4
00317          CALL CGEEQUB( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00318          CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK )
00319 *
00320 *     Test error exits of the routines that use the LU decomposition
00321 *     of a general band matrix.
00322 *
00323       ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00324 *
00325 *        CGBTRF
00326 *
00327          SRNAMT = 'CGBTRF'
00328          INFOT = 1
00329          CALL CGBTRF( -1, 0, 0, 0, A, 1, IP, INFO )
00330          CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK )
00331          INFOT = 2
00332          CALL CGBTRF( 0, -1, 0, 0, A, 1, IP, INFO )
00333          CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK )
00334          INFOT = 3
00335          CALL CGBTRF( 1, 1, -1, 0, A, 1, IP, INFO )
00336          CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK )
00337          INFOT = 4
00338          CALL CGBTRF( 1, 1, 0, -1, A, 1, IP, INFO )
00339          CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK )
00340          INFOT = 6
00341          CALL CGBTRF( 2, 2, 1, 1, A, 3, IP, INFO )
00342          CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK )
00343 *
00344 *        CGBTF2
00345 *
00346          SRNAMT = 'CGBTF2'
00347          INFOT = 1
00348          CALL CGBTF2( -1, 0, 0, 0, A, 1, IP, INFO )
00349          CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK )
00350          INFOT = 2
00351          CALL CGBTF2( 0, -1, 0, 0, A, 1, IP, INFO )
00352          CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK )
00353          INFOT = 3
00354          CALL CGBTF2( 1, 1, -1, 0, A, 1, IP, INFO )
00355          CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK )
00356          INFOT = 4
00357          CALL CGBTF2( 1, 1, 0, -1, A, 1, IP, INFO )
00358          CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK )
00359          INFOT = 6
00360          CALL CGBTF2( 2, 2, 1, 1, A, 3, IP, INFO )
00361          CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK )
00362 *
00363 *        CGBTRS
00364 *
00365          SRNAMT = 'CGBTRS'
00366          INFOT = 1
00367          CALL CGBTRS( '/', 0, 0, 0, 1, A, 1, IP, B, 1, INFO )
00368          CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK )
00369          INFOT = 2
00370          CALL CGBTRS( 'N', -1, 0, 0, 1, A, 1, IP, B, 1, INFO )
00371          CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK )
00372          INFOT = 3
00373          CALL CGBTRS( 'N', 1, -1, 0, 1, A, 1, IP, B, 1, INFO )
00374          CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK )
00375          INFOT = 4
00376          CALL CGBTRS( 'N', 1, 0, -1, 1, A, 1, IP, B, 1, INFO )
00377          CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK )
00378          INFOT = 5
00379          CALL CGBTRS( 'N', 1, 0, 0, -1, A, 1, IP, B, 1, INFO )
00380          CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK )
00381          INFOT = 7
00382          CALL CGBTRS( 'N', 2, 1, 1, 1, A, 3, IP, B, 2, INFO )
00383          CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK )
00384          INFOT = 10
00385          CALL CGBTRS( 'N', 2, 0, 0, 1, A, 1, IP, B, 1, INFO )
00386          CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK )
00387 *
00388 *        CGBRFS
00389 *
00390          SRNAMT = 'CGBRFS'
00391          INFOT = 1
00392          CALL CGBRFS( '/', 0, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00393      $                R2, W, R, INFO )
00394          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00395          INFOT = 2
00396          CALL CGBRFS( 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00397      $                R2, W, R, INFO )
00398          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00399          INFOT = 3
00400          CALL CGBRFS( 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00401      $                R2, W, R, INFO )
00402          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00403          INFOT = 4
00404          CALL CGBRFS( 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00405      $                R2, W, R, INFO )
00406          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00407          INFOT = 5
00408          CALL CGBRFS( 'N', 1, 0, 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00409      $                R2, W, R, INFO )
00410          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00411          INFOT = 7
00412          CALL CGBRFS( 'N', 2, 1, 1, 1, A, 2, AF, 4, IP, B, 2, X, 2, R1,
00413      $                R2, W, R, INFO )
00414          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00415          INFOT = 9
00416          CALL CGBRFS( 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, B, 2, X, 2, R1,
00417      $                R2, W, R, INFO )
00418          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00419          INFOT = 12
00420          CALL CGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 1, X, 2, R1,
00421      $                R2, W, R, INFO )
00422          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00423          INFOT = 14
00424          CALL CGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 2, X, 1, R1,
00425      $                R2, W, R, INFO )
00426          CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK )
00427 *
00428 *        CGBRFSX
00429 *
00430          N_ERR_BNDS = 3
00431          NPARAMS = 0
00432          SRNAMT = 'CGBRFSX'
00433          INFOT = 1
00434          CALL CGBRFSX( '/', EQ, 0, 0, 0, 0, A, 1, AF, 1, IP, RS, CS, B,
00435      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00436      $                ERR_BNDS_C, NPARAMS, PARAMS,  W, R, INFO )
00437          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00438          INFOT = 2
00439          EQ = '/'
00440          CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B,
00441      $                2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00442      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00443          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00444          INFOT = 3
00445          EQ = 'R'
00446          CALL CGBRFSX( 'N', EQ, -1, 1, 1, 0, A, 1, AF, 1, IP, RS, CS, B,
00447      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00448      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00449          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00450          INFOT = 4
00451          EQ = 'R'
00452          CALL CGBRFSX( 'N', EQ, 2, -1, 1, 1, A, 3, AF, 4, IP, RS, CS, B,
00453      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00454      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00455          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00456          INFOT = 5
00457          EQ = 'R'
00458          CALL CGBRFSX( 'N', EQ, 2, 1, -1, 1, A, 3, AF, 4, IP, RS, CS, B,
00459      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00460      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00461          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00462          INFOT = 6
00463          CALL CGBRFSX( 'N', EQ, 0, 0, 0, -1, A, 1, AF, 1, IP, RS, CS, B,
00464      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00465      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00466          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00467          INFOT = 8
00468          CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B,
00469      $                2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00470      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00471          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00472          INFOT = 10
00473          CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 3, IP, RS, CS, B,
00474      $                2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00475      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00476          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00477          INFOT = 13
00478          EQ = 'C'
00479          CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B,
00480      $                1, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00481      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00482          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00483          INFOT = 15
00484          CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B,
00485      $                2, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00486      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00487          CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK )
00488 *
00489 *        CGBCON
00490 *
00491          SRNAMT = 'CGBCON'
00492          INFOT = 1
00493          CALL CGBCON( '/', 0, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
00494          CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK )
00495          INFOT = 2
00496          CALL CGBCON( '1', -1, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
00497          CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK )
00498          INFOT = 3
00499          CALL CGBCON( '1', 1, -1, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
00500          CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK )
00501          INFOT = 4
00502          CALL CGBCON( '1', 1, 0, -1, A, 1, IP, ANRM, RCOND, W, R, INFO )
00503          CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK )
00504          INFOT = 6
00505          CALL CGBCON( '1', 2, 1, 1, A, 3, IP, ANRM, RCOND, W, R, INFO )
00506          CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK )
00507 *
00508 *        CGBEQU
00509 *
00510          SRNAMT = 'CGBEQU'
00511          INFOT = 1
00512          CALL CGBEQU( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00513      $                INFO )
00514          CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK )
00515          INFOT = 2
00516          CALL CGBEQU( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00517      $                INFO )
00518          CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK )
00519          INFOT = 3
00520          CALL CGBEQU( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00521      $                INFO )
00522          CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK )
00523          INFOT = 4
00524          CALL CGBEQU( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
00525      $                INFO )
00526          CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK )
00527          INFOT = 6
00528          CALL CGBEQU( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
00529      $                INFO )
00530          CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK )
00531 *
00532 *        CGBEQUB
00533 *
00534          SRNAMT = 'CGBEQUB'
00535          INFOT = 1
00536          CALL CGBEQUB( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00537      $                INFO )
00538          CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK )
00539          INFOT = 2
00540          CALL CGBEQUB( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00541      $                INFO )
00542          CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK )
00543          INFOT = 3
00544          CALL CGBEQUB( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00545      $                INFO )
00546          CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK )
00547          INFOT = 4
00548          CALL CGBEQUB( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
00549      $                INFO )
00550          CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK )
00551          INFOT = 6
00552          CALL CGBEQUB( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
00553      $                INFO )
00554          CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK )
00555       END IF
00556 *
00557 *     Print a summary line.
00558 *
00559       CALL ALAESM( PATH, OK, NOUT )
00560 *
00561       RETURN
00562 *
00563 *     End of CERRGE
00564 *
00565       END
 All Files Functions