LAPACK  3.4.2
LAPACK: Linear Algebra PACKage
 All Files Functions Groups
derrqp.f
Go to the documentation of this file.
1 *> \brief \b DERRQP
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 DERRQP( 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 *> DERRQP tests the error exits for DGEQPF and DGEQP3.
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 *> \date November 2011
51 *
52 *> \ingroup double_lin
53 *
54 * =====================================================================
55  SUBROUTINE derrqp( PATH, NUNIT )
56 *
57 * -- LAPACK test routine (version 3.4.0) --
58 * -- LAPACK is a software package provided by Univ. of Tennessee, --
59 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
60 * November 2011
61 *
62 * .. Scalar Arguments ..
63  CHARACTER*3 path
64  INTEGER nunit
65 * ..
66 *
67 * =====================================================================
68 *
69 * .. Parameters ..
70  INTEGER nmax
71  parameter( nmax = 3 )
72 * ..
73 * .. Local Scalars ..
74  CHARACTER*2 c2
75  INTEGER info, lw
76 * ..
77 * .. Local Arrays ..
78  INTEGER ip( nmax )
79  DOUBLE PRECISION a( nmax, nmax ), tau( nmax ), w( 3*nmax+1 )
80 * ..
81 * .. External Functions ..
82  LOGICAL lsamen
83  EXTERNAL lsamen
84 * ..
85 * .. External Subroutines ..
86  EXTERNAL alaesm, chkxer, dgeqp3, dgeqpf
87 * ..
88 * .. Scalars in Common ..
89  LOGICAL lerr, ok
90  CHARACTER*32 srnamt
91  INTEGER infot, nout
92 * ..
93 * .. Common blocks ..
94  common / infoc / infot, nout, ok, lerr
95  common / srnamc / srnamt
96 * ..
97 * .. Executable Statements ..
98 *
99  nout = nunit
100  WRITE( nout, fmt = * )
101  c2 = path( 2: 3 )
102  lw = 3*nmax + 1
103  a( 1, 1 ) = 1.0d+0
104  a( 1, 2 ) = 2.0d+0
105  a( 2, 2 ) = 3.0d+0
106  a( 2, 1 ) = 4.0d+0
107  ok = .true.
108 *
109  IF( lsamen( 2, c2, 'QP' ) ) THEN
110 *
111 * Test error exits for QR factorization with pivoting
112 *
113 * DGEQPF
114 *
115  srnamt = 'DGEQPF'
116  infot = 1
117  CALL dgeqpf( -1, 0, a, 1, ip, tau, w, info )
118  CALL chkxer( 'DGEQPF', infot, nout, lerr, ok )
119  infot = 2
120  CALL dgeqpf( 0, -1, a, 1, ip, tau, w, info )
121  CALL chkxer( 'DGEQPF', infot, nout, lerr, ok )
122  infot = 4
123  CALL dgeqpf( 2, 0, a, 1, ip, tau, w, info )
124  CALL chkxer( 'DGEQPF', infot, nout, lerr, ok )
125 *
126 * DGEQP3
127 *
128  srnamt = 'DGEQP3'
129  infot = 1
130  CALL dgeqp3( -1, 0, a, 1, ip, tau, w, lw, info )
131  CALL chkxer( 'DGEQP3', infot, nout, lerr, ok )
132  infot = 2
133  CALL dgeqp3( 1, -1, a, 1, ip, tau, w, lw, info )
134  CALL chkxer( 'DGEQP3', infot, nout, lerr, ok )
135  infot = 4
136  CALL dgeqp3( 2, 3, a, 1, ip, tau, w, lw, info )
137  CALL chkxer( 'DGEQP3', infot, nout, lerr, ok )
138  infot = 8
139  CALL dgeqp3( 2, 2, a, 2, ip, tau, w, lw-10, info )
140  CALL chkxer( 'DGEQP3', infot, nout, lerr, ok )
141  END IF
142 *
143 * Print a summary line.
144 *
145  CALL alaesm( path, ok, nout )
146 *
147  return
148 *
149 * End of DERRQP
150 *
151  END