72 parameter ( nmax = 2 )
78 COMPLEX*16 a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
79 $ w( nmax ), x( nmax )
92 COMMON / infoc / infot, nout, ok, lerr
93 COMMON / srnamc / srnamt
96 INTRINSIC dble, dcmplx
101 WRITE( nout, fmt = * )
107 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
108 $ -1.d0 / dble( i+j ) )
109 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
110 $ -1.d0 / dble( i+j ) )
124 CALL zgeqrf( -1, 0, a, 1, b, w, 1, info )
125 CALL chkxer(
'ZGEQRF', infot, nout, lerr, ok )
127 CALL zgeqrf( 0, -1, a, 1, b, w, 1, info )
128 CALL chkxer(
'ZGEQRF', infot, nout, lerr, ok )
130 CALL zgeqrf( 2, 1, a, 1, b, w, 1, info )
131 CALL chkxer(
'ZGEQRF', infot, nout, lerr, ok )
133 CALL zgeqrf( 1, 2, a, 1, b, w, 1, info )
134 CALL chkxer(
'ZGEQRF', infot, nout, lerr, ok )
140 CALL zgeqrfp( -1, 0, a, 1, b, w, 1, info )
141 CALL chkxer(
'ZGEQRFP', infot, nout, lerr, ok )
143 CALL zgeqrfp( 0, -1, a, 1, b, w, 1, info )
144 CALL chkxer(
'ZGEQRFP', infot, nout, lerr, ok )
146 CALL zgeqrfp( 2, 1, a, 1, b, w, 1, info )
147 CALL chkxer(
'ZGEQRFP', infot, nout, lerr, ok )
149 CALL zgeqrfp( 1, 2, a, 1, b, w, 1, info )
150 CALL chkxer(
'ZGEQRFP', infot, nout, lerr, ok )
156 CALL zgeqr2( -1, 0, a, 1, b, w, info )
157 CALL chkxer(
'ZGEQR2', infot, nout, lerr, ok )
159 CALL zgeqr2( 0, -1, a, 1, b, w, info )
160 CALL chkxer(
'ZGEQR2', infot, nout, lerr, ok )
162 CALL zgeqr2( 2, 1, a, 1, b, w, info )
163 CALL chkxer(
'ZGEQR2', infot, nout, lerr, ok )
169 CALL zgeqr2p( -1, 0, a, 1, b, w, info )
170 CALL chkxer(
'ZGEQR2P', infot, nout, lerr, ok )
172 CALL zgeqr2p( 0, -1, a, 1, b, w, info )
173 CALL chkxer(
'ZGEQR2P', infot, nout, lerr, ok )
175 CALL zgeqr2p( 2, 1, a, 1, b, w, info )
176 CALL chkxer(
'ZGEQR2P', infot, nout, lerr, ok )
182 CALL zgeqrs( -1, 0, 0, a, 1, x, b, 1, w, 1, info )
183 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
185 CALL zgeqrs( 0, -1, 0, a, 1, x, b, 1, w, 1, info )
186 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
188 CALL zgeqrs( 1, 2, 0, a, 2, x, b, 2, w, 1, info )
189 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
191 CALL zgeqrs( 0, 0, -1, a, 1, x, b, 1, w, 1, info )
192 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
194 CALL zgeqrs( 2, 1, 0, a, 1, x, b, 2, w, 1, info )
195 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
197 CALL zgeqrs( 2, 1, 0, a, 2, x, b, 1, w, 1, info )
198 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
200 CALL zgeqrs( 1, 1, 2, a, 1, x, b, 1, w, 1, info )
201 CALL chkxer(
'ZGEQRS', infot, nout, lerr, ok )
207 CALL zungqr( -1, 0, 0, a, 1, x, w, 1, info )
208 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
210 CALL zungqr( 0, -1, 0, a, 1, x, w, 1, info )
211 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
213 CALL zungqr( 1, 2, 0, a, 1, x, w, 2, info )
214 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
216 CALL zungqr( 0, 0, -1, a, 1, x, w, 1, info )
217 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
219 CALL zungqr( 1, 1, 2, a, 1, x, w, 1, info )
220 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
222 CALL zungqr( 2, 2, 0, a, 1, x, w, 2, info )
223 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
225 CALL zungqr( 2, 2, 0, a, 2, x, w, 1, info )
226 CALL chkxer(
'ZUNGQR', infot, nout, lerr, ok )
232 CALL zung2r( -1, 0, 0, a, 1, x, w, info )
233 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
235 CALL zung2r( 0, -1, 0, a, 1, x, w, info )
236 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
238 CALL zung2r( 1, 2, 0, a, 1, x, w, info )
239 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
241 CALL zung2r( 0, 0, -1, a, 1, x, w, info )
242 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
244 CALL zung2r( 2, 1, 2, a, 2, x, w, info )
245 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
247 CALL zung2r( 2, 1, 0, a, 1, x, w, info )
248 CALL chkxer(
'ZUNG2R', infot, nout, lerr, ok )
254 CALL zunmqr(
'/',
'N', 0, 0, 0, a, 1, x, af, 1, w, 1, info )
255 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
257 CALL zunmqr(
'L',
'/', 0, 0, 0, a, 1, x, af, 1, w, 1, info )
258 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
260 CALL zunmqr(
'L',
'N', -1, 0, 0, a, 1, x, af, 1, w, 1, info )
261 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
263 CALL zunmqr(
'L',
'N', 0, -1, 0, a, 1, x, af, 1, w, 1, info )
264 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
266 CALL zunmqr(
'L',
'N', 0, 0, -1, a, 1, x, af, 1, w, 1, info )
267 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
269 CALL zunmqr(
'L',
'N', 0, 1, 1, a, 1, x, af, 1, w, 1, info )
270 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
272 CALL zunmqr(
'R',
'N', 1, 0, 1, a, 1, x, af, 1, w, 1, info )
273 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
275 CALL zunmqr(
'L',
'N', 2, 1, 0, a, 1, x, af, 2, w, 1, info )
276 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
278 CALL zunmqr(
'R',
'N', 1, 2, 0, a, 1, x, af, 1, w, 1, info )
279 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
281 CALL zunmqr(
'L',
'N', 2, 1, 0, a, 2, x, af, 1, w, 1, info )
282 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
284 CALL zunmqr(
'L',
'N', 1, 2, 0, a, 1, x, af, 1, w, 1, info )
285 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
287 CALL zunmqr(
'R',
'N', 2, 1, 0, a, 1, x, af, 2, w, 1, info )
288 CALL chkxer(
'ZUNMQR', infot, nout, lerr, ok )
294 CALL zunm2r(
'/',
'N', 0, 0, 0, a, 1, x, af, 1, w, info )
295 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
297 CALL zunm2r(
'L',
'/', 0, 0, 0, a, 1, x, af, 1, w, info )
298 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
300 CALL zunm2r(
'L',
'N', -1, 0, 0, a, 1, x, af, 1, w, info )
301 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
303 CALL zunm2r(
'L',
'N', 0, -1, 0, a, 1, x, af, 1, w, info )
304 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
306 CALL zunm2r(
'L',
'N', 0, 0, -1, a, 1, x, af, 1, w, info )
307 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
309 CALL zunm2r(
'L',
'N', 0, 1, 1, a, 1, x, af, 1, w, info )
310 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
312 CALL zunm2r(
'R',
'N', 1, 0, 1, a, 1, x, af, 1, w, info )
313 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
315 CALL zunm2r(
'L',
'N', 2, 1, 0, a, 1, x, af, 2, w, info )
316 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
318 CALL zunm2r(
'R',
'N', 1, 2, 0, a, 1, x, af, 1, w, info )
319 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
321 CALL zunm2r(
'L',
'N', 2, 1, 0, a, 2, x, af, 1, w, info )
322 CALL chkxer(
'ZUNM2R', infot, nout, lerr, ok )
326 CALL alaesm( path, ok, nout )
subroutine zung2r(M, N, K, A, LDA, TAU, WORK, INFO)
ZUNG2R
subroutine zgeqrfp(M, N, A, LDA, TAU, WORK, LWORK, INFO)
ZGEQRFP
subroutine zgeqrf(M, N, A, LDA, TAU, WORK, LWORK, INFO)
ZGEQRF VARIANT: left-looking Level 3 BLAS of the algorithm.
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zunmqr(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
ZUNMQR
subroutine zgeqr2(M, N, A, LDA, TAU, WORK, INFO)
ZGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm...
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 zungqr(M, N, K, A, LDA, TAU, WORK, LWORK, INFO)
ZUNGQR
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 zgeqrs(M, N, NRHS, A, LDA, TAU, B, LDB, WORK, LWORK, INFO)
ZGEQRS