LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
serrgex.f
Go to the documentation of this file.
00001 *> \brief \b SERRGEX
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 SERRGE( 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 *> SERRGE tests the error exits for the REAL routines
00025 *> for general matrices.
00026 *>
00027 *> Note that this file is used only when the XBLAS are available,
00028 *> otherwise serrge.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 single_lin
00057 *
00058 *  =====================================================================
00059       SUBROUTINE SERRGE( 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, LW
00075       PARAMETER          ( NMAX = 4, LW = 3*NMAX )
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 ), IW( NMAX )
00085       REAL               A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
00086      $                   C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
00087      $                   W( LW ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ),
00088      $                   ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
00089 *     ..
00090 *     .. External Functions ..
00091       LOGICAL            LSAMEN
00092       EXTERNAL           LSAMEN
00093 *     ..
00094 *     .. External Subroutines ..
00095       EXTERNAL           ALAESM, CHKXER, SGBCON, SGBEQU, SGBRFS, SGBTF2,
00096      $                   SGBTRF, SGBTRS, SGECON, SGEEQU, SGERFS, SGETF2,
00097      $                   SGETRF, SGETRI, SGETRS, SGEEQUB, SGERFSX,
00098      $                   SGBEQUB, SGBRFSX
00099 *     ..
00100 *     .. Scalars in Common ..
00101       LOGICAL            LERR, OK
00102       CHARACTER*32       SRNAMT
00103       INTEGER            INFOT, NOUT
00104 *     ..
00105 *     .. Common blocks ..
00106       COMMON             / INFOC / INFOT, NOUT, OK, LERR
00107       COMMON             / SRNAMC / SRNAMT
00108 *     ..
00109 *     .. Intrinsic Functions ..
00110       INTRINSIC          REAL
00111 *     ..
00112 *     .. Executable Statements ..
00113 *
00114       NOUT = NUNIT
00115       WRITE( NOUT, FMT = * )
00116       C2 = PATH( 2: 3 )
00117 *
00118 *     Set the variables to innocuous values.
00119 *
00120       DO 20 J = 1, NMAX
00121          DO 10 I = 1, NMAX
00122             A( I, J ) = 1. / REAL( I+J )
00123             AF( I, J ) = 1. / REAL( I+J )
00124    10    CONTINUE
00125          B( J ) = 0.
00126          R1( J ) = 0.
00127          R2( J ) = 0.
00128          W( J ) = 0.
00129          X( J ) = 0.
00130          C( J ) = 0.
00131          R( J ) = 0.
00132          IP( J ) = J
00133          IW( J ) = J
00134    20 CONTINUE
00135       OK = .TRUE.
00136 *
00137       IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00138 *
00139 *        Test error exits of the routines that use the LU decomposition
00140 *        of a general matrix.
00141 *
00142 *        SGETRF
00143 *
00144          SRNAMT = 'SGETRF'
00145          INFOT = 1
00146          CALL SGETRF( -1, 0, A, 1, IP, INFO )
00147          CALL CHKXER( 'SGETRF', INFOT, NOUT, LERR, OK )
00148          INFOT = 2
00149          CALL SGETRF( 0, -1, A, 1, IP, INFO )
00150          CALL CHKXER( 'SGETRF', INFOT, NOUT, LERR, OK )
00151          INFOT = 4
00152          CALL SGETRF( 2, 1, A, 1, IP, INFO )
00153          CALL CHKXER( 'SGETRF', INFOT, NOUT, LERR, OK )
00154 *
00155 *        SGETF2
00156 *
00157          SRNAMT = 'SGETF2'
00158          INFOT = 1
00159          CALL SGETF2( -1, 0, A, 1, IP, INFO )
00160          CALL CHKXER( 'SGETF2', INFOT, NOUT, LERR, OK )
00161          INFOT = 2
00162          CALL SGETF2( 0, -1, A, 1, IP, INFO )
00163          CALL CHKXER( 'SGETF2', INFOT, NOUT, LERR, OK )
00164          INFOT = 4
00165          CALL SGETF2( 2, 1, A, 1, IP, INFO )
00166          CALL CHKXER( 'SGETF2', INFOT, NOUT, LERR, OK )
00167 *
00168 *        SGETRI
00169 *
00170          SRNAMT = 'SGETRI'
00171          INFOT = 1
00172          CALL SGETRI( -1, A, 1, IP, W, LW, INFO )
00173          CALL CHKXER( 'SGETRI', INFOT, NOUT, LERR, OK )
00174          INFOT = 3
00175          CALL SGETRI( 2, A, 1, IP, W, LW, INFO )
00176          CALL CHKXER( 'SGETRI', INFOT, NOUT, LERR, OK )
00177 *
00178 *        SGETRS
00179 *
00180          SRNAMT = 'SGETRS'
00181          INFOT = 1
00182          CALL SGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO )
00183          CALL CHKXER( 'SGETRS', INFOT, NOUT, LERR, OK )
00184          INFOT = 2
00185          CALL SGETRS( 'N', -1, 0, A, 1, IP, B, 1, INFO )
00186          CALL CHKXER( 'SGETRS', INFOT, NOUT, LERR, OK )
00187          INFOT = 3
00188          CALL SGETRS( 'N', 0, -1, A, 1, IP, B, 1, INFO )
00189          CALL CHKXER( 'SGETRS', INFOT, NOUT, LERR, OK )
00190          INFOT = 5
00191          CALL SGETRS( 'N', 2, 1, A, 1, IP, B, 2, INFO )
00192          CALL CHKXER( 'SGETRS', INFOT, NOUT, LERR, OK )
00193          INFOT = 8
00194          CALL SGETRS( 'N', 2, 1, A, 2, IP, B, 1, INFO )
00195          CALL CHKXER( 'SGETRS', INFOT, NOUT, LERR, OK )
00196 *
00197 *        SGERFS
00198 *
00199          SRNAMT = 'SGERFS'
00200          INFOT = 1
00201          CALL SGERFS( '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, W,
00202      $                IW, INFO )
00203          CALL CHKXER( 'SGERFS', INFOT, NOUT, LERR, OK )
00204          INFOT = 2
00205          CALL SGERFS( 'N', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
00206      $                W, IW, INFO )
00207          CALL CHKXER( 'SGERFS', INFOT, NOUT, LERR, OK )
00208          INFOT = 3
00209          CALL SGERFS( 'N', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
00210      $                W, IW, INFO )
00211          CALL CHKXER( 'SGERFS', INFOT, NOUT, LERR, OK )
00212          INFOT = 5
00213          CALL SGERFS( 'N', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W,
00214      $                IW, INFO )
00215          CALL CHKXER( 'SGERFS', INFOT, NOUT, LERR, OK )
00216          INFOT = 7
00217          CALL SGERFS( 'N', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W,
00218      $                IW, INFO )
00219          CALL CHKXER( 'SGERFS', INFOT, NOUT, LERR, OK )
00220          INFOT = 10
00221          CALL SGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W,
00222      $                IW, INFO )
00223          CALL CHKXER( 'SGERFS', INFOT, NOUT, LERR, OK )
00224          INFOT = 12
00225          CALL SGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W,
00226      $                IW, INFO )
00227          CALL CHKXER( 'SGERFS', INFOT, NOUT, LERR, OK )
00228 *
00229 *        SGERFSX
00230 *
00231          N_ERR_BNDS = 3
00232          NPARAMS = 0
00233          SRNAMT = 'SGERFSX'
00234          INFOT = 1
00235          CALL SGERFSX( '/', EQ, 0, 0, A, 1, AF, 1, IP, R, C, B, 1, X,
00236      $        1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00237      $        NPARAMS, PARAMS,  W, IW, INFO )
00238          CALL CHKXER( 'SGERFSX', INFOT, NOUT, LERR, OK )
00239          INFOT = 2
00240          EQ = '/'
00241          CALL SGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, R, C, B, 2, X,
00242      $        2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00243      $        NPARAMS, PARAMS, W, IW, INFO )
00244          CALL CHKXER( 'SGERFSX', INFOT, NOUT, LERR, OK )
00245          INFOT = 3
00246          EQ = 'R'
00247          CALL SGERFSX( 'N', EQ, -1, 0, A, 1, AF, 1, IP, R, C, B, 1, X,
00248      $        1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00249      $        NPARAMS, PARAMS, W, IW, INFO )
00250          CALL CHKXER( 'SGERFSX', INFOT, NOUT, LERR, OK )
00251          INFOT = 4
00252          CALL SGERFSX( 'N', EQ, 0, -1, A, 1, AF, 1, IP, R, C, B, 1, X,
00253      $        1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00254      $        NPARAMS, PARAMS, W, IW, INFO )
00255          CALL CHKXER( 'SGERFSX', INFOT, NOUT, LERR, OK )
00256          INFOT = 6
00257          CALL SGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, R, C, B, 2, X,
00258      $        2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00259      $        NPARAMS, PARAMS, W, IW, INFO )
00260          CALL CHKXER( 'SGERFSX', INFOT, NOUT, LERR, OK )
00261          INFOT = 8
00262          CALL SGERFSX( 'N', EQ, 2, 1, A, 2, AF, 1, IP, R, C, B, 2, X,
00263      $        2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00264      $        NPARAMS, PARAMS, W, IW, INFO )
00265          CALL CHKXER( 'SGERFSX', INFOT, NOUT, LERR, OK )
00266          INFOT = 13
00267          EQ = 'C'
00268          CALL SGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, R, C, B, 1, X,
00269      $        2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00270      $        NPARAMS, PARAMS, W, IW, INFO )
00271          CALL CHKXER( 'SGERFSX', INFOT, NOUT, LERR, OK )
00272          INFOT = 15
00273          CALL SGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, R, C, B, 2, X,
00274      $        1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00275      $        NPARAMS, PARAMS, W, IW, INFO )
00276          CALL CHKXER( 'SGERFSX', INFOT, NOUT, LERR, OK )
00277 *
00278 *        SGECON
00279 *
00280          SRNAMT = 'SGECON'
00281          INFOT = 1
00282          CALL SGECON( '/', 0, A, 1, ANRM, RCOND, W, IW, INFO )
00283          CALL CHKXER( 'SGECON', INFOT, NOUT, LERR, OK )
00284          INFOT = 2
00285          CALL SGECON( '1', -1, A, 1, ANRM, RCOND, W, IW, INFO )
00286          CALL CHKXER( 'SGECON', INFOT, NOUT, LERR, OK )
00287          INFOT = 4
00288          CALL SGECON( '1', 2, A, 1, ANRM, RCOND, W, IW, INFO )
00289          CALL CHKXER( 'SGECON', INFOT, NOUT, LERR, OK )
00290 *
00291 *        SGEEQU
00292 *
00293          SRNAMT = 'SGEEQU'
00294          INFOT = 1
00295          CALL SGEEQU( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00296          CALL CHKXER( 'SGEEQU', INFOT, NOUT, LERR, OK )
00297          INFOT = 2
00298          CALL SGEEQU( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00299          CALL CHKXER( 'SGEEQU', INFOT, NOUT, LERR, OK )
00300          INFOT = 4
00301          CALL SGEEQU( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00302          CALL CHKXER( 'SGEEQU', INFOT, NOUT, LERR, OK )
00303 *
00304 *        SGEEQUB
00305 *
00306          SRNAMT = 'SGEEQUB'
00307          INFOT = 1
00308          CALL SGEEQUB( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00309          CALL CHKXER( 'SGEEQUB', INFOT, NOUT, LERR, OK )
00310          INFOT = 2
00311          CALL SGEEQUB( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00312          CALL CHKXER( 'SGEEQUB', INFOT, NOUT, LERR, OK )
00313          INFOT = 4
00314          CALL SGEEQUB( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00315          CALL CHKXER( 'SGEEQUB', INFOT, NOUT, LERR, OK )
00316 *
00317       ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00318 *
00319 *        Test error exits of the routines that use the LU decomposition
00320 *        of a general band matrix.
00321 *
00322 *        SGBTRF
00323 *
00324          SRNAMT = 'SGBTRF'
00325          INFOT = 1
00326          CALL SGBTRF( -1, 0, 0, 0, A, 1, IP, INFO )
00327          CALL CHKXER( 'SGBTRF', INFOT, NOUT, LERR, OK )
00328          INFOT = 2
00329          CALL SGBTRF( 0, -1, 0, 0, A, 1, IP, INFO )
00330          CALL CHKXER( 'SGBTRF', INFOT, NOUT, LERR, OK )
00331          INFOT = 3
00332          CALL SGBTRF( 1, 1, -1, 0, A, 1, IP, INFO )
00333          CALL CHKXER( 'SGBTRF', INFOT, NOUT, LERR, OK )
00334          INFOT = 4
00335          CALL SGBTRF( 1, 1, 0, -1, A, 1, IP, INFO )
00336          CALL CHKXER( 'SGBTRF', INFOT, NOUT, LERR, OK )
00337          INFOT = 6
00338          CALL SGBTRF( 2, 2, 1, 1, A, 3, IP, INFO )
00339          CALL CHKXER( 'SGBTRF', INFOT, NOUT, LERR, OK )
00340 *
00341 *        SGBTF2
00342 *
00343          SRNAMT = 'SGBTF2'
00344          INFOT = 1
00345          CALL SGBTF2( -1, 0, 0, 0, A, 1, IP, INFO )
00346          CALL CHKXER( 'SGBTF2', INFOT, NOUT, LERR, OK )
00347          INFOT = 2
00348          CALL SGBTF2( 0, -1, 0, 0, A, 1, IP, INFO )
00349          CALL CHKXER( 'SGBTF2', INFOT, NOUT, LERR, OK )
00350          INFOT = 3
00351          CALL SGBTF2( 1, 1, -1, 0, A, 1, IP, INFO )
00352          CALL CHKXER( 'SGBTF2', INFOT, NOUT, LERR, OK )
00353          INFOT = 4
00354          CALL SGBTF2( 1, 1, 0, -1, A, 1, IP, INFO )
00355          CALL CHKXER( 'SGBTF2', INFOT, NOUT, LERR, OK )
00356          INFOT = 6
00357          CALL SGBTF2( 2, 2, 1, 1, A, 3, IP, INFO )
00358          CALL CHKXER( 'SGBTF2', INFOT, NOUT, LERR, OK )
00359 *
00360 *        SGBTRS
00361 *
00362          SRNAMT = 'SGBTRS'
00363          INFOT = 1
00364          CALL SGBTRS( '/', 0, 0, 0, 1, A, 1, IP, B, 1, INFO )
00365          CALL CHKXER( 'SGBTRS', INFOT, NOUT, LERR, OK )
00366          INFOT = 2
00367          CALL SGBTRS( 'N', -1, 0, 0, 1, A, 1, IP, B, 1, INFO )
00368          CALL CHKXER( 'SGBTRS', INFOT, NOUT, LERR, OK )
00369          INFOT = 3
00370          CALL SGBTRS( 'N', 1, -1, 0, 1, A, 1, IP, B, 1, INFO )
00371          CALL CHKXER( 'SGBTRS', INFOT, NOUT, LERR, OK )
00372          INFOT = 4
00373          CALL SGBTRS( 'N', 1, 0, -1, 1, A, 1, IP, B, 1, INFO )
00374          CALL CHKXER( 'SGBTRS', INFOT, NOUT, LERR, OK )
00375          INFOT = 5
00376          CALL SGBTRS( 'N', 1, 0, 0, -1, A, 1, IP, B, 1, INFO )
00377          CALL CHKXER( 'SGBTRS', INFOT, NOUT, LERR, OK )
00378          INFOT = 7
00379          CALL SGBTRS( 'N', 2, 1, 1, 1, A, 3, IP, B, 2, INFO )
00380          CALL CHKXER( 'SGBTRS', INFOT, NOUT, LERR, OK )
00381          INFOT = 10
00382          CALL SGBTRS( 'N', 2, 0, 0, 1, A, 1, IP, B, 1, INFO )
00383          CALL CHKXER( 'SGBTRS', INFOT, NOUT, LERR, OK )
00384 *
00385 *        SGBRFS
00386 *
00387          SRNAMT = 'SGBRFS'
00388          INFOT = 1
00389          CALL SGBRFS( '/', 0, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00390      $                R2, W, IW, INFO )
00391          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00392          INFOT = 2
00393          CALL SGBRFS( 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00394      $                R2, W, IW, INFO )
00395          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00396          INFOT = 3
00397          CALL SGBRFS( 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00398      $                R2, W, IW, INFO )
00399          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00400          INFOT = 4
00401          CALL SGBRFS( 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00402      $                R2, W, IW, INFO )
00403          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00404          INFOT = 5
00405          CALL SGBRFS( 'N', 1, 0, 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00406      $                R2, W, IW, INFO )
00407          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00408          INFOT = 7
00409          CALL SGBRFS( 'N', 2, 1, 1, 1, A, 2, AF, 4, IP, B, 2, X, 2, R1,
00410      $                R2, W, IW, INFO )
00411          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00412          INFOT = 9
00413          CALL SGBRFS( 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, B, 2, X, 2, R1,
00414      $                R2, W, IW, INFO )
00415          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00416          INFOT = 12
00417          CALL SGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 1, X, 2, R1,
00418      $                R2, W, IW, INFO )
00419          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00420          INFOT = 14
00421          CALL SGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 2, X, 1, R1,
00422      $                R2, W, IW, INFO )
00423          CALL CHKXER( 'SGBRFS', INFOT, NOUT, LERR, OK )
00424 *
00425 *        SGBRFSX
00426 *
00427          N_ERR_BNDS = 3
00428          NPARAMS = 0
00429          SRNAMT = 'SGBRFSX'
00430          INFOT = 1
00431          CALL SGBRFSX( '/', EQ, 0, 0, 0, 0, A, 1, AF, 1, IP, R, C, B, 1,
00432      $        X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00433      $        NPARAMS, PARAMS,  W, IW, INFO )
00434          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00435          INFOT = 2
00436          EQ = '/'
00437          CALL SGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, R, C, B, 2,
00438      $        X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00439      $        NPARAMS, PARAMS, W, IW, INFO )
00440          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00441          INFOT = 3
00442          EQ = 'R'
00443          CALL SGBRFSX( 'N', EQ, -1, 1, 1, 0, A, 1, AF, 1, IP, R, C, B,
00444      $        1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00445      $        NPARAMS, PARAMS, W, IW, INFO )
00446          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00447          INFOT = 4
00448          EQ = 'R'
00449          CALL SGBRFSX( 'N', EQ, 2, -1, 1, 1, A, 3, AF, 4, IP, R, C, B,
00450      $        1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00451      $        NPARAMS, PARAMS, W, IW, INFO )
00452          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00453          INFOT = 5
00454          EQ = 'R'
00455          CALL SGBRFSX( 'N', EQ, 2, 1, -1, 1, A, 3, AF, 4, IP, R, C, B,
00456      $        1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00457      $        NPARAMS, PARAMS, W, IW, INFO )
00458          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00459          INFOT = 6
00460          CALL SGBRFSX( 'N', EQ, 0, 0, 0, -1, A, 1, AF, 1, IP, R, C, B,
00461      $        1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00462      $        NPARAMS, PARAMS, W, IW, INFO )
00463          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00464          INFOT = 8
00465          CALL SGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, R, C, B,
00466      $        2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00467      $        NPARAMS, PARAMS, W, IW, INFO )
00468          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00469          INFOT = 10
00470          CALL SGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 3, IP, R, C, B, 2,
00471      $        X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00472      $        NPARAMS, PARAMS, W, IW, INFO )
00473          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00474          INFOT = 13
00475          EQ = 'C'
00476          CALL SGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, R, C, B,
00477      $        1, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00478      $        NPARAMS, PARAMS, W, IW, INFO )
00479          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00480          INFOT = 15
00481          CALL SGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, R, C, B, 2,
00482      $        X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00483      $        NPARAMS, PARAMS, W, IW, INFO )
00484          CALL CHKXER( 'SGBRFSX', INFOT, NOUT, LERR, OK )
00485 *
00486 *        SGBCON
00487 *
00488          SRNAMT = 'SGBCON'
00489          INFOT = 1
00490          CALL SGBCON( '/', 0, 0, 0, A, 1, IP, ANRM, RCOND, W, IW, INFO )
00491          CALL CHKXER( 'SGBCON', INFOT, NOUT, LERR, OK )
00492          INFOT = 2
00493          CALL SGBCON( '1', -1, 0, 0, A, 1, IP, ANRM, RCOND, W, IW,
00494      $                INFO )
00495          CALL CHKXER( 'SGBCON', INFOT, NOUT, LERR, OK )
00496          INFOT = 3
00497          CALL SGBCON( '1', 1, -1, 0, A, 1, IP, ANRM, RCOND, W, IW,
00498      $                INFO )
00499          CALL CHKXER( 'SGBCON', INFOT, NOUT, LERR, OK )
00500          INFOT = 4
00501          CALL SGBCON( '1', 1, 0, -1, A, 1, IP, ANRM, RCOND, W, IW,
00502      $                INFO )
00503          CALL CHKXER( 'SGBCON', INFOT, NOUT, LERR, OK )
00504          INFOT = 6
00505          CALL SGBCON( '1', 2, 1, 1, A, 3, IP, ANRM, RCOND, W, IW, INFO )
00506          CALL CHKXER( 'SGBCON', INFOT, NOUT, LERR, OK )
00507 *
00508 *        SGBEQU
00509 *
00510          SRNAMT = 'SGBEQU'
00511          INFOT = 1
00512          CALL SGBEQU( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00513      $                INFO )
00514          CALL CHKXER( 'SGBEQU', INFOT, NOUT, LERR, OK )
00515          INFOT = 2
00516          CALL SGBEQU( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00517      $                INFO )
00518          CALL CHKXER( 'SGBEQU', INFOT, NOUT, LERR, OK )
00519          INFOT = 3
00520          CALL SGBEQU( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00521      $                INFO )
00522          CALL CHKXER( 'SGBEQU', INFOT, NOUT, LERR, OK )
00523          INFOT = 4
00524          CALL SGBEQU( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
00525      $                INFO )
00526          CALL CHKXER( 'SGBEQU', INFOT, NOUT, LERR, OK )
00527          INFOT = 6
00528          CALL SGBEQU( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
00529      $                INFO )
00530          CALL CHKXER( 'SGBEQU', INFOT, NOUT, LERR, OK )
00531 *
00532 *        SGBEQUB
00533 *
00534          SRNAMT = 'SGBEQUB'
00535          INFOT = 1
00536          CALL SGBEQUB( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00537      $                INFO )
00538          CALL CHKXER( 'SGBEQUB', INFOT, NOUT, LERR, OK )
00539          INFOT = 2
00540          CALL SGBEQUB( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00541      $                INFO )
00542          CALL CHKXER( 'SGBEQUB', INFOT, NOUT, LERR, OK )
00543          INFOT = 3
00544          CALL SGBEQUB( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00545      $                INFO )
00546          CALL CHKXER( 'SGBEQUB', INFOT, NOUT, LERR, OK )
00547          INFOT = 4
00548          CALL SGBEQUB( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
00549      $                INFO )
00550          CALL CHKXER( 'SGBEQUB', INFOT, NOUT, LERR, OK )
00551          INFOT = 6
00552          CALL SGBEQUB( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
00553      $                INFO )
00554          CALL CHKXER( 'SGBEQUB', 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 SERRGE
00564 *
00565       END
 All Files Functions