1*> \brief \b ZERRPS 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8* Definition: 9* =========== 10* 11* SUBROUTINE ZERRPS( PATH, NUNIT ) 12* 13* .. Scalar Arguments .. 14* INTEGER NUNIT 15* CHARACTER*3 PATH 16* .. 17* 18* 19*> \par Purpose: 20* ============= 21*> 22*> \verbatim 23*> 24*> ZERRPS tests the error exits for the COMPLEX routines 25*> for ZPSTRF. 26*> \endverbatim 27* 28* Arguments: 29* ========== 30* 31*> \param[in] PATH 32*> \verbatim 33*> PATH is CHARACTER*3 34*> The LAPACK path name for the routines to be tested. 35*> \endverbatim 36*> 37*> \param[in] NUNIT 38*> \verbatim 39*> NUNIT is INTEGER 40*> The unit number for output. 41*> \endverbatim 42* 43* Authors: 44* ======== 45* 46*> \author Univ. of Tennessee 47*> \author Univ. of California Berkeley 48*> \author Univ. of Colorado Denver 49*> \author NAG Ltd. 50* 51*> \ingroup complex16_lin 52* 53* ===================================================================== 54 SUBROUTINE ZERRPS( PATH, NUNIT ) 55* 56* -- LAPACK test routine -- 57* -- LAPACK is a software package provided by Univ. of Tennessee, -- 58* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 59* 60* .. Scalar Arguments .. 61 INTEGER NUNIT 62 CHARACTER*3 PATH 63* .. 64* 65* ===================================================================== 66* 67* .. Parameters .. 68 INTEGER NMAX 69 PARAMETER ( NMAX = 4 ) 70* .. 71* .. Local Scalars .. 72 INTEGER I, INFO, J, RANK 73* .. 74* .. Local Arrays .. 75 COMPLEX*16 A( NMAX, NMAX ) 76 DOUBLE PRECISION RWORK( 2*NMAX ) 77 INTEGER PIV( NMAX ) 78* .. 79* .. External Subroutines .. 80 EXTERNAL ALAESM, CHKXER, ZPSTF2, ZPSTRF 81* .. 82* .. Scalars in Common .. 83 INTEGER INFOT, NOUT 84 LOGICAL LERR, OK 85 CHARACTER*32 SRNAMT 86* .. 87* .. Common blocks .. 88 COMMON / INFOC / INFOT, NOUT, OK, LERR 89 COMMON / SRNAMC / SRNAMT 90* .. 91* .. Intrinsic Functions .. 92 INTRINSIC DBLE 93* .. 94* .. Executable Statements .. 95* 96 NOUT = NUNIT 97 WRITE( NOUT, FMT = * ) 98* 99* Set the variables to innocuous values. 100* 101 DO 110 J = 1, NMAX 102 DO 100 I = 1, NMAX 103 A( I, J ) = 1.D0 / DBLE( I+J ) 104* 105 100 CONTINUE 106 PIV( J ) = J 107 RWORK( J ) = 0.D0 108 RWORK( NMAX+J ) = 0.D0 109* 110 110 CONTINUE 111 OK = .TRUE. 112* 113* 114* Test error exits of the routines that use the Cholesky 115* decomposition of an Hermitian positive semidefinite matrix. 116* 117* ZPSTRF 118* 119 SRNAMT = 'ZPSTRF' 120 INFOT = 1 121 CALL ZPSTRF( '/', 0, A, 1, PIV, RANK, -1.D0, RWORK, INFO ) 122 CALL CHKXER( 'ZPSTRF', INFOT, NOUT, LERR, OK ) 123 INFOT = 2 124 CALL ZPSTRF( 'U', -1, A, 1, PIV, RANK, -1.D0, RWORK, INFO ) 125 CALL CHKXER( 'ZPSTRF', INFOT, NOUT, LERR, OK ) 126 INFOT = 4 127 CALL ZPSTRF( 'U', 2, A, 1, PIV, RANK, -1.D0, RWORK, INFO ) 128 CALL CHKXER( 'ZPSTRF', INFOT, NOUT, LERR, OK ) 129* 130* ZPSTF2 131* 132 SRNAMT = 'ZPSTF2' 133 INFOT = 1 134 CALL ZPSTF2( '/', 0, A, 1, PIV, RANK, -1.D0, RWORK, INFO ) 135 CALL CHKXER( 'ZPSTF2', INFOT, NOUT, LERR, OK ) 136 INFOT = 2 137 CALL ZPSTF2( 'U', -1, A, 1, PIV, RANK, -1.D0, RWORK, INFO ) 138 CALL CHKXER( 'ZPSTF2', INFOT, NOUT, LERR, OK ) 139 INFOT = 4 140 CALL ZPSTF2( 'U', 2, A, 1, PIV, RANK, -1.D0, RWORK, INFO ) 141 CALL CHKXER( 'ZPSTF2', INFOT, NOUT, LERR, OK ) 142* 143* 144* Print a summary line. 145* 146 CALL ALAESM( PATH, OK, NOUT ) 147* 148 RETURN 149* 150* End of ZERRPS 151* 152 END 153