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 zgeqr2(M, N, A, LDA, TAU, WORK, INFO)
ZGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm...
subroutine zgeqrs(M, N, NRHS, A, LDA, TAU, B, LDB, WORK, LWORK, INFO)
ZGEQRS
subroutine zgeqrfp(M, N, A, LDA, TAU, WORK, LWORK, INFO)
ZGEQRFP
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 chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine zerrqr(PATH, NUNIT)
ZERRQR
subroutine zgeqrf(M, N, A, LDA, TAU, WORK, LWORK, INFO)
ZGEQRF VARIANT: left-looking Level 3 BLAS of the 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...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine zunmqr(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
ZUNMQR
subroutine zung2r(M, N, K, A, LDA, TAU, WORK, INFO)
ZUNG2R
subroutine alaesm(PATH, OK, NOUT)
ALAESM