75 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
76 $ W( NMAX ), X( NMAX )
89 COMMON / infoc / infot, nout, ok, lerr
90 COMMON / srnamc / srnamt
93 INTRINSIC dble, dcmplx
98 WRITE( nout, fmt = * )
104 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
105 $ -1.d0 / dble( i+j ) )
106 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
107 $ -1.d0 / dble( i+j ) )
121 CALL zgeqrf( -1, 0, a, 1, b, w, 1, info )
122 CALL chkxer(
'ZGEQRF', infot, nout, lerr, ok )
124 CALL zgeqrf( 0, -1, a, 1, b, w, 1, info )
125 CALL chkxer(
'ZGEQRF', infot, nout, lerr, ok )
127 CALL zgeqrf( 2, 1, a, 1, b, w, 1, info )
128 CALL chkxer(
'ZGEQRF', infot, nout, lerr, ok )
130 CALL zgeqrf( 1, 2, a, 1, b, w, 1, info )
131 CALL chkxer(
'ZGEQRF', infot, nout, lerr, ok )
137 CALL zgeqrfp( -1, 0, a, 1, b, w, 1, info )
138 CALL chkxer(
'ZGEQRFP', infot, nout, lerr, ok )
140 CALL zgeqrfp( 0, -1, a, 1, b, w, 1, info )
141 CALL chkxer(
'ZGEQRFP', infot, nout, lerr, ok )
143 CALL zgeqrfp( 2, 1, a, 1, b, w, 1, info )
144 CALL chkxer(
'ZGEQRFP', infot, nout, lerr, ok )
146 CALL zgeqrfp( 1, 2, a, 1, b, w, 1, info )
147 CALL chkxer(
'ZGEQRFP', infot, nout, lerr, ok )
153 CALL zgeqr2( -1, 0, a, 1, b, w, info )
154 CALL chkxer(
'ZGEQR2', infot, nout, lerr, ok )
156 CALL zgeqr2( 0, -1, a, 1, b, w, info )
157 CALL chkxer(
'ZGEQR2', infot, nout, lerr, ok )
159 CALL zgeqr2( 2, 1, a, 1, b, w, info )
160 CALL chkxer(
'ZGEQR2', infot, nout, lerr, ok )
166 CALL zgeqr2p( -1, 0, a, 1, b, w, info )
167 CALL chkxer(
'ZGEQR2P', infot, nout, lerr, ok )
169 CALL zgeqr2p( 0, -1, a, 1, b, w, info )
170 CALL chkxer(
'ZGEQR2P', infot, nout, lerr, ok )
172 CALL zgeqr2p( 2, 1, a, 1, b, w, info )
173 CALL chkxer(
'ZGEQR2P', infot, nout, lerr, ok )
179 CALL zgeqrs( -1, 0, 0, a, 1, x, b, 1, w, 1, info )
180 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
182 CALL zgeqrs( 0, -1, 0, a, 1, x, b, 1, w, 1, info )
183 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
185 CALL zgeqrs( 1, 2, 0, a, 2, x, b, 2, w, 1, info )
186 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
188 CALL zgeqrs( 0, 0, -1, a, 1, x, b, 1, w, 1, info )
189 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
191 CALL zgeqrs( 2, 1, 0, a, 1, x, b, 2, w, 1, info )
192 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
194 CALL zgeqrs( 2, 1, 0, a, 2, x, b, 1, w, 1, info )
195 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
197 CALL zgeqrs( 1, 1, 2, a, 1, x, b, 1, w, 1, info )
198 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
204 CALL zungqr( -1, 0, 0, a, 1, x, w, 1, info )
205 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
207 CALL zungqr( 0, -1, 0, a, 1, x, w, 1, info )
208 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
210 CALL zungqr( 1, 2, 0, a, 1, x, w, 2, info )
211 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
213 CALL zungqr( 0, 0, -1, a, 1, x, w, 1, info )
214 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
216 CALL zungqr( 1, 1, 2, a, 1, x, w, 1, info )
217 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
219 CALL zungqr( 2, 2, 0, a, 1, x, w, 2, info )
220 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
222 CALL zungqr( 2, 2, 0, a, 2, x, w, 1, info )
223 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
229 CALL zung2r( -1, 0, 0, a, 1, x, w, info )
230 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
232 CALL zung2r( 0, -1, 0, a, 1, x, w, info )
233 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
235 CALL zung2r( 1, 2, 0, a, 1, x, w, info )
236 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
238 CALL zung2r( 0, 0, -1, a, 1, x, w, info )
239 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
241 CALL zung2r( 2, 1, 2, a, 2, x, w, info )
242 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
244 CALL zung2r( 2, 1, 0, a, 1, x, w, info )
245 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
251 CALL zunmqr(
'/',
'N', 0, 0, 0, a, 1, x, af, 1, w, 1, info )
252 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
254 CALL zunmqr(
'L',
'/', 0, 0, 0, a, 1, x, af, 1, w, 1, info )
255 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
257 CALL zunmqr(
'L',
'N', -1, 0, 0, a, 1, x, af, 1, w, 1, info )
258 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
260 CALL zunmqr(
'L',
'N', 0, -1, 0, a, 1, x, af, 1, w, 1, info )
261 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
263 CALL zunmqr(
'L',
'N', 0, 0, -1, a, 1, x, af, 1, w, 1, info )
264 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
266 CALL zunmqr(
'L',
'N', 0, 1, 1, a, 1, x, af, 1, w, 1, info )
267 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
269 CALL zunmqr(
'R',
'N', 1, 0, 1, a, 1, x, af, 1, w, 1, info )
270 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
272 CALL zunmqr(
'L',
'N', 2, 1, 0, a, 1, x, af, 2, w, 1, info )
273 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
275 CALL zunmqr(
'R',
'N', 1, 2, 0, a, 1, x, af, 1, w, 1, info )
276 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
278 CALL zunmqr(
'L',
'N', 2, 1, 0, a, 2, x, af, 1, w, 1, info )
279 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
281 CALL zunmqr(
'L',
'N', 1, 2, 0, a, 1, x, af, 1, w, 1, info )
282 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
284 CALL zunmqr(
'R',
'N', 2, 1, 0, a, 1, x, af, 2, w, 1, info )
285 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
291 CALL zunm2r(
'/',
'N', 0, 0, 0, a, 1, x, af, 1, w, info )
292 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
294 CALL zunm2r(
'L',
'/', 0, 0, 0, a, 1, x, af, 1, w, info )
295 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
297 CALL zunm2r(
'L',
'N', -1, 0, 0, a, 1, x, af, 1, w, info )
298 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
300 CALL zunm2r(
'L',
'N', 0, -1, 0, a, 1, x, af, 1, w, info )
301 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
303 CALL zunm2r(
'L',
'N', 0, 0, -1, a, 1, x, af, 1, w, info )
304 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
306 CALL zunm2r(
'L',
'N', 0, 1, 1, a, 1, x, af, 1, w, info )
307 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
309 CALL zunm2r(
'R',
'N', 1, 0, 1, a, 1, x, af, 1, w, info )
310 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
312 CALL zunm2r(
'L',
'N', 2, 1, 0, a, 1, x, af, 2, w, info )
313 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
315 CALL zunm2r(
'R',
'N', 1, 2, 0, a, 1, x, af, 1, w, info )
316 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
318 CALL zunm2r(
'L',
'N', 2, 1, 0, a, 2, x, af, 1, w, info )
319 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
323 CALL alaesm( path, ok, nout )
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine zgeqrs(M, N, NRHS, A, LDA, TAU, B, LDB, WORK, LWORK, INFO)
ZGEQRS
subroutine zerrqr(PATH, NUNIT)
ZERRQR
subroutine zgeqr2(M, N, A, LDA, TAU, WORK, INFO)
ZGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm.
subroutine zgeqr2p(M, N, A, LDA, TAU, WORK, INFO)
ZGEQR2P computes the QR factorization of a general rectangular matrix with non-negative diagonal elem...
subroutine zgeqrfp(M, N, A, LDA, TAU, WORK, LWORK, INFO)
ZGEQRFP
subroutine zung2r(M, N, K, A, LDA, TAU, WORK, INFO)
ZUNG2R
subroutine zungqr(M, N, K, A, LDA, TAU, WORK, LWORK, INFO)
ZUNGQR
subroutine zunm2r(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO)
ZUNM2R multiplies a general matrix by the unitary matrix from a QR factorization determined by cgeqrf...
subroutine zunmqr(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
ZUNMQR
subroutine zgeqrf(M, N, A, LDA, TAU, WORK, LWORK, INFO)
ZGEQRF VARIANT: left-looking Level 3 BLAS of the algorithm.