LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
serrpox.f
Go to the documentation of this file.
00001 *> \brief \b SERRPOX
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 SERRPO( 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 *> SERRPO tests the error exits for the REAL routines
00025 *> for symmetric positive definite matrices.
00026 *>
00027 *> Note that this file is used only when the XBLAS are available,
00028 *> otherwise serrpo.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 SERRPO( 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, RCOND, BERR
00082 *     ..
00083 *     .. Local Arrays ..
00084       INTEGER            IW( NMAX )
00085       REAL               A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
00086      $                   R1( NMAX ), R2( NMAX ), W( 3*NMAX ), X( NMAX ),
00087      $                   S( 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, SPBCON, SPBEQU, SPBRFS, SPBTF2,
00096      $                   SPBTRF, SPBTRS, SPOCON, SPOEQU, SPORFS, SPOTF2,
00097      $                   SPOTRF, SPOTRI, SPOTRS, SPPCON, SPPEQU, SPPRFS,
00098      $                   SPPTRF, SPPTRI, SPPTRS, SPOEQUB, SPORFSX
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          S( J ) = 0.
00131          IW( J ) = J
00132    20 CONTINUE
00133       OK = .TRUE.
00134 *
00135       IF( LSAMEN( 2, C2, 'PO' ) ) THEN
00136 *
00137 *        Test error exits of the routines that use the Cholesky
00138 *        decomposition of a symmetric positive definite matrix.
00139 *
00140 *        SPOTRF
00141 *
00142          SRNAMT = 'SPOTRF'
00143          INFOT = 1
00144          CALL SPOTRF( '/', 0, A, 1, INFO )
00145          CALL CHKXER( 'SPOTRF', INFOT, NOUT, LERR, OK )
00146          INFOT = 2
00147          CALL SPOTRF( 'U', -1, A, 1, INFO )
00148          CALL CHKXER( 'SPOTRF', INFOT, NOUT, LERR, OK )
00149          INFOT = 4
00150          CALL SPOTRF( 'U', 2, A, 1, INFO )
00151          CALL CHKXER( 'SPOTRF', INFOT, NOUT, LERR, OK )
00152 *
00153 *        SPOTF2
00154 *
00155          SRNAMT = 'SPOTF2'
00156          INFOT = 1
00157          CALL SPOTF2( '/', 0, A, 1, INFO )
00158          CALL CHKXER( 'SPOTF2', INFOT, NOUT, LERR, OK )
00159          INFOT = 2
00160          CALL SPOTF2( 'U', -1, A, 1, INFO )
00161          CALL CHKXER( 'SPOTF2', INFOT, NOUT, LERR, OK )
00162          INFOT = 4
00163          CALL SPOTF2( 'U', 2, A, 1, INFO )
00164          CALL CHKXER( 'SPOTF2', INFOT, NOUT, LERR, OK )
00165 *
00166 *        SPOTRI
00167 *
00168          SRNAMT = 'SPOTRI'
00169          INFOT = 1
00170          CALL SPOTRI( '/', 0, A, 1, INFO )
00171          CALL CHKXER( 'SPOTRI', INFOT, NOUT, LERR, OK )
00172          INFOT = 2
00173          CALL SPOTRI( 'U', -1, A, 1, INFO )
00174          CALL CHKXER( 'SPOTRI', INFOT, NOUT, LERR, OK )
00175          INFOT = 4
00176          CALL SPOTRI( 'U', 2, A, 1, INFO )
00177          CALL CHKXER( 'SPOTRI', INFOT, NOUT, LERR, OK )
00178 *
00179 *        SPOTRS
00180 *
00181          SRNAMT = 'SPOTRS'
00182          INFOT = 1
00183          CALL SPOTRS( '/', 0, 0, A, 1, B, 1, INFO )
00184          CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK )
00185          INFOT = 2
00186          CALL SPOTRS( 'U', -1, 0, A, 1, B, 1, INFO )
00187          CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK )
00188          INFOT = 3
00189          CALL SPOTRS( 'U', 0, -1, A, 1, B, 1, INFO )
00190          CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK )
00191          INFOT = 5
00192          CALL SPOTRS( 'U', 2, 1, A, 1, B, 2, INFO )
00193          CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK )
00194          INFOT = 7
00195          CALL SPOTRS( 'U', 2, 1, A, 2, B, 1, INFO )
00196          CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK )
00197 *
00198 *        SPORFS
00199 *
00200          SRNAMT = 'SPORFS'
00201          INFOT = 1
00202          CALL SPORFS( '/', 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, IW,
00203      $                INFO )
00204          CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK )
00205          INFOT = 2
00206          CALL SPORFS( 'U', -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
00207      $                IW, INFO )
00208          CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK )
00209          INFOT = 3
00210          CALL SPORFS( 'U', 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
00211      $                IW, INFO )
00212          CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK )
00213          INFOT = 5
00214          CALL SPORFS( 'U', 2, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, IW,
00215      $                INFO )
00216          CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK )
00217          INFOT = 7
00218          CALL SPORFS( 'U', 2, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, IW,
00219      $                INFO )
00220          CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK )
00221          INFOT = 9
00222          CALL SPORFS( 'U', 2, 1, A, 2, AF, 2, B, 1, X, 2, R1, R2, W, IW,
00223      $                INFO )
00224          CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK )
00225          INFOT = 11
00226          CALL SPORFS( 'U', 2, 1, A, 2, AF, 2, B, 2, X, 1, R1, R2, W, IW,
00227      $                INFO )
00228          CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK )
00229 *
00230 *        SPORFSX
00231 *
00232          N_ERR_BNDS = 3
00233          NPARAMS = 0
00234          SRNAMT = 'SPORFSX'
00235          INFOT = 1
00236          CALL SPORFSX( '/', EQ, 0, 0, A, 1, AF, 1, S, B, 1, X, 1,
00237      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
00238      $        PARAMS, W, IW, INFO )
00239          CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK )
00240          INFOT = 2
00241          CALL SPORFSX( 'U', EQ, -1, 0, A, 1, AF, 1, S, B, 1, X, 1,
00242      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
00243      $        PARAMS, W, IW, INFO )
00244          CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK )
00245          EQ = 'N'
00246          INFOT = 3
00247          CALL SPORFSX( 'U', EQ, -1, 0, A, 1, AF, 1, S, B, 1, X, 1,
00248      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
00249      $        PARAMS, W, IW, INFO )
00250          CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK )
00251          INFOT = 4
00252          CALL SPORFSX( 'U', EQ, 0, -1, A, 1, AF, 1, S, B, 1, X, 1,
00253      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
00254      $        PARAMS, W, IW, INFO )
00255          CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK )
00256          INFOT = 6
00257          CALL SPORFSX( 'U', EQ, 2, 1, A, 1, AF, 2, S, B, 2, X, 2,
00258      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
00259      $        PARAMS, W, IW, INFO )
00260          CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK )
00261          INFOT = 8
00262          CALL SPORFSX( 'U', EQ, 2, 1, A, 2, AF, 1, S, B, 2, X, 2,
00263      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
00264      $        PARAMS, W, IW, INFO )
00265          CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK )
00266          INFOT = 11
00267          CALL SPORFSX( 'U', EQ, 2, 1, A, 2, AF, 2, S, B, 1, X, 2,
00268      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
00269      $        PARAMS, W, IW, INFO )
00270          CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK )
00271          INFOT = 13
00272          CALL SPORFSX( 'U', EQ, 2, 1, A, 2, AF, 2, S, B, 2, X, 1,
00273      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
00274      $        PARAMS, W, IW, INFO )
00275          CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK )
00276 *
00277 *        SPOCON
00278 *
00279          SRNAMT = 'SPOCON'
00280          INFOT = 1
00281          CALL SPOCON( '/', 0, A, 1, ANRM, RCOND, W, IW, INFO )
00282          CALL CHKXER( 'SPOCON', INFOT, NOUT, LERR, OK )
00283          INFOT = 2
00284          CALL SPOCON( 'U', -1, A, 1, ANRM, RCOND, W, IW, INFO )
00285          CALL CHKXER( 'SPOCON', INFOT, NOUT, LERR, OK )
00286          INFOT = 4
00287          CALL SPOCON( 'U', 2, A, 1, ANRM, RCOND, W, IW, INFO )
00288          CALL CHKXER( 'SPOCON', INFOT, NOUT, LERR, OK )
00289 *
00290 *        SPOEQU
00291 *
00292          SRNAMT = 'SPOEQU'
00293          INFOT = 1
00294          CALL SPOEQU( -1, A, 1, R1, RCOND, ANRM, INFO )
00295          CALL CHKXER( 'SPOEQU', INFOT, NOUT, LERR, OK )
00296          INFOT = 3
00297          CALL SPOEQU( 2, A, 1, R1, RCOND, ANRM, INFO )
00298          CALL CHKXER( 'SPOEQU', INFOT, NOUT, LERR, OK )
00299 *
00300 *        SPOEQUB
00301 *
00302          SRNAMT = 'SPOEQUB'
00303          INFOT = 1
00304          CALL SPOEQUB( -1, A, 1, R1, RCOND, ANRM, INFO )
00305          CALL CHKXER( 'SPOEQUB', INFOT, NOUT, LERR, OK )
00306          INFOT = 3
00307          CALL SPOEQUB( 2, A, 1, R1, RCOND, ANRM, INFO )
00308          CALL CHKXER( 'SPOEQUB', INFOT, NOUT, LERR, OK )
00309 *
00310       ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
00311 *
00312 *        Test error exits of the routines that use the Cholesky
00313 *        decomposition of a symmetric positive definite packed matrix.
00314 *
00315 *        SPPTRF
00316 *
00317          SRNAMT = 'SPPTRF'
00318          INFOT = 1
00319          CALL SPPTRF( '/', 0, A, INFO )
00320          CALL CHKXER( 'SPPTRF', INFOT, NOUT, LERR, OK )
00321          INFOT = 2
00322          CALL SPPTRF( 'U', -1, A, INFO )
00323          CALL CHKXER( 'SPPTRF', INFOT, NOUT, LERR, OK )
00324 *
00325 *        SPPTRI
00326 *
00327          SRNAMT = 'SPPTRI'
00328          INFOT = 1
00329          CALL SPPTRI( '/', 0, A, INFO )
00330          CALL CHKXER( 'SPPTRI', INFOT, NOUT, LERR, OK )
00331          INFOT = 2
00332          CALL SPPTRI( 'U', -1, A, INFO )
00333          CALL CHKXER( 'SPPTRI', INFOT, NOUT, LERR, OK )
00334 *
00335 *        SPPTRS
00336 *
00337          SRNAMT = 'SPPTRS'
00338          INFOT = 1
00339          CALL SPPTRS( '/', 0, 0, A, B, 1, INFO )
00340          CALL CHKXER( 'SPPTRS', INFOT, NOUT, LERR, OK )
00341          INFOT = 2
00342          CALL SPPTRS( 'U', -1, 0, A, B, 1, INFO )
00343          CALL CHKXER( 'SPPTRS', INFOT, NOUT, LERR, OK )
00344          INFOT = 3
00345          CALL SPPTRS( 'U', 0, -1, A, B, 1, INFO )
00346          CALL CHKXER( 'SPPTRS', INFOT, NOUT, LERR, OK )
00347          INFOT = 6
00348          CALL SPPTRS( 'U', 2, 1, A, B, 1, INFO )
00349          CALL CHKXER( 'SPPTRS', INFOT, NOUT, LERR, OK )
00350 *
00351 *        SPPRFS
00352 *
00353          SRNAMT = 'SPPRFS'
00354          INFOT = 1
00355          CALL SPPRFS( '/', 0, 0, A, AF, B, 1, X, 1, R1, R2, W, IW,
00356      $                INFO )
00357          CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK )
00358          INFOT = 2
00359          CALL SPPRFS( 'U', -1, 0, A, AF, B, 1, X, 1, R1, R2, W, IW,
00360      $                INFO )
00361          CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK )
00362          INFOT = 3
00363          CALL SPPRFS( 'U', 0, -1, A, AF, B, 1, X, 1, R1, R2, W, IW,
00364      $                INFO )
00365          CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK )
00366          INFOT = 7
00367          CALL SPPRFS( 'U', 2, 1, A, AF, B, 1, X, 2, R1, R2, W, IW,
00368      $                INFO )
00369          CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK )
00370          INFOT = 9
00371          CALL SPPRFS( 'U', 2, 1, A, AF, B, 2, X, 1, R1, R2, W, IW,
00372      $                INFO )
00373          CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK )
00374 *
00375 *        SPPCON
00376 *
00377          SRNAMT = 'SPPCON'
00378          INFOT = 1
00379          CALL SPPCON( '/', 0, A, ANRM, RCOND, W, IW, INFO )
00380          CALL CHKXER( 'SPPCON', INFOT, NOUT, LERR, OK )
00381          INFOT = 2
00382          CALL SPPCON( 'U', -1, A, ANRM, RCOND, W, IW, INFO )
00383          CALL CHKXER( 'SPPCON', INFOT, NOUT, LERR, OK )
00384 *
00385 *        SPPEQU
00386 *
00387          SRNAMT = 'SPPEQU'
00388          INFOT = 1
00389          CALL SPPEQU( '/', 0, A, R1, RCOND, ANRM, INFO )
00390          CALL CHKXER( 'SPPEQU', INFOT, NOUT, LERR, OK )
00391          INFOT = 2
00392          CALL SPPEQU( 'U', -1, A, R1, RCOND, ANRM, INFO )
00393          CALL CHKXER( 'SPPEQU', INFOT, NOUT, LERR, OK )
00394 *
00395       ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
00396 *
00397 *        Test error exits of the routines that use the Cholesky
00398 *        decomposition of a symmetric positive definite band matrix.
00399 *
00400 *        SPBTRF
00401 *
00402          SRNAMT = 'SPBTRF'
00403          INFOT = 1
00404          CALL SPBTRF( '/', 0, 0, A, 1, INFO )
00405          CALL CHKXER( 'SPBTRF', INFOT, NOUT, LERR, OK )
00406          INFOT = 2
00407          CALL SPBTRF( 'U', -1, 0, A, 1, INFO )
00408          CALL CHKXER( 'SPBTRF', INFOT, NOUT, LERR, OK )
00409          INFOT = 3
00410          CALL SPBTRF( 'U', 1, -1, A, 1, INFO )
00411          CALL CHKXER( 'SPBTRF', INFOT, NOUT, LERR, OK )
00412          INFOT = 5
00413          CALL SPBTRF( 'U', 2, 1, A, 1, INFO )
00414          CALL CHKXER( 'SPBTRF', INFOT, NOUT, LERR, OK )
00415 *
00416 *        SPBTF2
00417 *
00418          SRNAMT = 'SPBTF2'
00419          INFOT = 1
00420          CALL SPBTF2( '/', 0, 0, A, 1, INFO )
00421          CALL CHKXER( 'SPBTF2', INFOT, NOUT, LERR, OK )
00422          INFOT = 2
00423          CALL SPBTF2( 'U', -1, 0, A, 1, INFO )
00424          CALL CHKXER( 'SPBTF2', INFOT, NOUT, LERR, OK )
00425          INFOT = 3
00426          CALL SPBTF2( 'U', 1, -1, A, 1, INFO )
00427          CALL CHKXER( 'SPBTF2', INFOT, NOUT, LERR, OK )
00428          INFOT = 5
00429          CALL SPBTF2( 'U', 2, 1, A, 1, INFO )
00430          CALL CHKXER( 'SPBTF2', INFOT, NOUT, LERR, OK )
00431 *
00432 *        SPBTRS
00433 *
00434          SRNAMT = 'SPBTRS'
00435          INFOT = 1
00436          CALL SPBTRS( '/', 0, 0, 0, A, 1, B, 1, INFO )
00437          CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK )
00438          INFOT = 2
00439          CALL SPBTRS( 'U', -1, 0, 0, A, 1, B, 1, INFO )
00440          CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK )
00441          INFOT = 3
00442          CALL SPBTRS( 'U', 1, -1, 0, A, 1, B, 1, INFO )
00443          CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK )
00444          INFOT = 4
00445          CALL SPBTRS( 'U', 0, 0, -1, A, 1, B, 1, INFO )
00446          CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK )
00447          INFOT = 6
00448          CALL SPBTRS( 'U', 2, 1, 1, A, 1, B, 1, INFO )
00449          CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK )
00450          INFOT = 8
00451          CALL SPBTRS( 'U', 2, 0, 1, A, 1, B, 1, INFO )
00452          CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK )
00453 *
00454 *        SPBRFS
00455 *
00456          SRNAMT = 'SPBRFS'
00457          INFOT = 1
00458          CALL SPBRFS( '/', 0, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
00459      $                IW, INFO )
00460          CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK )
00461          INFOT = 2
00462          CALL SPBRFS( 'U', -1, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
00463      $                IW, INFO )
00464          CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK )
00465          INFOT = 3
00466          CALL SPBRFS( 'U', 1, -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
00467      $                IW, INFO )
00468          CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK )
00469          INFOT = 4
00470          CALL SPBRFS( 'U', 0, 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
00471      $                IW, INFO )
00472          CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK )
00473          INFOT = 6
00474          CALL SPBRFS( 'U', 2, 1, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W,
00475      $                IW, INFO )
00476          CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK )
00477          INFOT = 8
00478          CALL SPBRFS( 'U', 2, 1, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W,
00479      $                IW, INFO )
00480          CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK )
00481          INFOT = 10
00482          CALL SPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 1, X, 2, R1, R2, W,
00483      $                IW, INFO )
00484          CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK )
00485          INFOT = 12
00486          CALL SPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 2, X, 1, R1, R2, W,
00487      $                IW, INFO )
00488          CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK )
00489 *
00490 *        SPBCON
00491 *
00492          SRNAMT = 'SPBCON'
00493          INFOT = 1
00494          CALL SPBCON( '/', 0, 0, A, 1, ANRM, RCOND, W, IW, INFO )
00495          CALL CHKXER( 'SPBCON', INFOT, NOUT, LERR, OK )
00496          INFOT = 2
00497          CALL SPBCON( 'U', -1, 0, A, 1, ANRM, RCOND, W, IW, INFO )
00498          CALL CHKXER( 'SPBCON', INFOT, NOUT, LERR, OK )
00499          INFOT = 3
00500          CALL SPBCON( 'U', 1, -1, A, 1, ANRM, RCOND, W, IW, INFO )
00501          CALL CHKXER( 'SPBCON', INFOT, NOUT, LERR, OK )
00502          INFOT = 5
00503          CALL SPBCON( 'U', 2, 1, A, 1, ANRM, RCOND, W, IW, INFO )
00504          CALL CHKXER( 'SPBCON', INFOT, NOUT, LERR, OK )
00505 *
00506 *        SPBEQU
00507 *
00508          SRNAMT = 'SPBEQU'
00509          INFOT = 1
00510          CALL SPBEQU( '/', 0, 0, A, 1, R1, RCOND, ANRM, INFO )
00511          CALL CHKXER( 'SPBEQU', INFOT, NOUT, LERR, OK )
00512          INFOT = 2
00513          CALL SPBEQU( 'U', -1, 0, A, 1, R1, RCOND, ANRM, INFO )
00514          CALL CHKXER( 'SPBEQU', INFOT, NOUT, LERR, OK )
00515          INFOT = 3
00516          CALL SPBEQU( 'U', 1, -1, A, 1, R1, RCOND, ANRM, INFO )
00517          CALL CHKXER( 'SPBEQU', INFOT, NOUT, LERR, OK )
00518          INFOT = 5
00519          CALL SPBEQU( 'U', 2, 1, A, 1, R1, RCOND, ANRM, INFO )
00520          CALL CHKXER( 'SPBEQU', INFOT, NOUT, LERR, OK )
00521       END IF
00522 *
00523 *     Print a summary line.
00524 *
00525       CALL ALAESM( PATH, OK, NOUT )
00526 *
00527       RETURN
00528 *
00529 *     End of SERRPO
00530 *
00531       END
 All Files Functions