1*> \brief \b SERRQP
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 SERRQP( 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*> SERRQP tests the error exits for SGEQP3.
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 single_lin
51*
52*  =====================================================================
53      SUBROUTINE SERRQP( 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      REAL               A( NMAX, NMAX ), TAU( NMAX ), W( 3*NMAX+1 )
77*     ..
78*     .. External Functions ..
79      LOGICAL            LSAMEN
80      EXTERNAL           LSAMEN
81*     ..
82*     .. External Subroutines ..
83      EXTERNAL           ALAESM, CHKXER, SGEQP3
84*     ..
85*     .. Scalars in Common ..
86      LOGICAL            LERR, OK
87      CHARACTER*32       SRNAMT
88      INTEGER            INFOT, NOUT
89*     ..
90*     .. Common blocks ..
91      COMMON             / INFOC / INFOT, NOUT, OK, LERR
92      COMMON             / SRNAMC / SRNAMT
93*     ..
94*     .. Executable Statements ..
95*
96      NOUT = NUNIT
97      WRITE( NOUT, FMT = * )
98      C2 = PATH( 2: 3 )
99      LW = 3*NMAX + 1
100      A( 1, 1 ) = 1.0E+0
101      A( 1, 2 ) = 2.0E+0
102      A( 2, 2 ) = 3.0E+0
103      A( 2, 1 ) = 4.0E+0
104      OK = .TRUE.
105*
106      IF( LSAMEN( 2, C2, 'QP' ) ) THEN
107*
108*        Test error exits for QR factorization with pivoting
109*
110*        SGEQP3
111*
112         SRNAMT = 'SGEQP3'
113         INFOT = 1
114         CALL SGEQP3( -1, 0, A, 1, IP, TAU, W, LW, INFO )
115         CALL CHKXER( 'SGEQP3', INFOT, NOUT, LERR, OK )
116         INFOT = 2
117         CALL SGEQP3( 1, -1, A, 1, IP, TAU, W, LW, INFO )
118         CALL CHKXER( 'SGEQP3', INFOT, NOUT, LERR, OK )
119         INFOT = 4
120         CALL SGEQP3( 2, 3, A, 1, IP, TAU, W, LW, INFO )
121         CALL CHKXER( 'SGEQP3', INFOT, NOUT, LERR, OK )
122         INFOT = 8
123         CALL SGEQP3( 2, 2, A, 2, IP, TAU, W, LW-10, INFO )
124         CALL CHKXER( 'SGEQP3', INFOT, NOUT, LERR, OK )
125      END IF
126*
127*     Print a summary line.
128*
129      CALL ALAESM( PATH, OK, NOUT )
130*
131      RETURN
132*
133*     End of SERRQP
134*
135      END
136