1*> \brief \b ZERRQP 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 ZERRQP( PATH, NUNIT ) 12* 13* .. Scalar Arguments .. 14* CHARACTER*3 PATH 15* INTEGER NUNIT 16* .. 17* 18* 19*> \par Purpose: 20* ============= 21*> 22*> \verbatim 23*> 24*> ZERRQP tests the error exits for ZGEQP3. 25*> \endverbatim 26* 27* Arguments: 28* ========== 29* 30*> \param[in] PATH 31*> \verbatim 32*> PATH is CHARACTER*3 33*> The LAPACK path name for the routines to be tested. 34*> \endverbatim 35*> 36*> \param[in] NUNIT 37*> \verbatim 38*> NUNIT is INTEGER 39*> The unit number for output. 40*> \endverbatim 41* 42* Authors: 43* ======== 44* 45*> \author Univ. of Tennessee 46*> \author Univ. of California Berkeley 47*> \author Univ. of Colorado Denver 48*> \author NAG Ltd. 49* 50*> \ingroup complex16_lin 51* 52* ===================================================================== 53 SUBROUTINE ZERRQP( PATH, NUNIT ) 54* 55* -- LAPACK test routine -- 56* -- LAPACK is a software package provided by Univ. of Tennessee, -- 57* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 58* 59* .. Scalar Arguments .. 60 CHARACTER*3 PATH 61 INTEGER NUNIT 62* .. 63* 64* ===================================================================== 65* 66* .. Parameters .. 67 INTEGER NMAX 68 PARAMETER ( NMAX = 3 ) 69* .. 70* .. Local Scalars .. 71 CHARACTER*2 C2 72 INTEGER INFO, LW 73* .. 74* .. Local Arrays .. 75 INTEGER IP( NMAX ) 76 DOUBLE PRECISION RW( 2*NMAX ) 77 COMPLEX*16 A( NMAX, NMAX ), TAU( NMAX ), 78 $ W( 2*NMAX+3*NMAX ) 79* .. 80* .. External Functions .. 81 LOGICAL LSAMEN 82 EXTERNAL LSAMEN 83* .. 84* .. External Subroutines .. 85 EXTERNAL ALAESM, CHKXER, ZGEQP3 86* .. 87* .. Scalars in Common .. 88 LOGICAL LERR, OK 89 CHARACTER*32 SRNAMT 90 INTEGER INFOT, NOUT 91* .. 92* .. Common blocks .. 93 COMMON / INFOC / INFOT, NOUT, OK, LERR 94 COMMON / SRNAMC / SRNAMT 95* .. 96* .. Intrinsic Functions .. 97 INTRINSIC DCMPLX 98* .. 99* .. Executable Statements .. 100* 101 NOUT = NUNIT 102 C2 = PATH( 2: 3 ) 103 LW = NMAX + 1 104 A( 1, 1 ) = DCMPLX( 1.0D+0, -1.0D+0 ) 105 A( 1, 2 ) = DCMPLX( 2.0D+0, -2.0D+0 ) 106 A( 2, 2 ) = DCMPLX( 3.0D+0, -3.0D+0 ) 107 A( 2, 1 ) = DCMPLX( 4.0D+0, -4.0D+0 ) 108 OK = .TRUE. 109 WRITE( NOUT, FMT = * ) 110* 111* Test error exits for QR factorization with pivoting 112* 113 IF( LSAMEN( 2, C2, 'QP' ) ) THEN 114* 115* ZGEQP3 116* 117 SRNAMT = 'ZGEQP3' 118 INFOT = 1 119 CALL ZGEQP3( -1, 0, A, 1, IP, TAU, W, LW, RW, INFO ) 120 CALL CHKXER( 'ZGEQP3', INFOT, NOUT, LERR, OK ) 121 INFOT = 2 122 CALL ZGEQP3( 1, -1, A, 1, IP, TAU, W, LW, RW, INFO ) 123 CALL CHKXER( 'ZGEQP3', INFOT, NOUT, LERR, OK ) 124 INFOT = 4 125 CALL ZGEQP3( 2, 3, A, 1, IP, TAU, W, LW, RW, INFO ) 126 CALL CHKXER( 'ZGEQP3', INFOT, NOUT, LERR, OK ) 127 INFOT = 8 128 CALL ZGEQP3( 2, 2, A, 2, IP, TAU, W, LW-10, RW, INFO ) 129 CALL CHKXER( 'ZGEQP3', INFOT, NOUT, LERR, OK ) 130 END IF 131* 132* Print a summary line. 133* 134 CALL ALAESM( PATH, OK, NOUT ) 135* 136 RETURN 137* 138* End of ZERRQP 139* 140 END 141