68 parameter( nmax = 4, lw = nmax )
75 DOUBLE PRECISION D( NMAX ), ( NMAX ), RW( 4*NMAX )
76 COMPLEX*16 A( NMAX, NMAX ), TP( NMAX ), TQ( NMAX ),
77 $ U( NMAX, NMAX ), V( NMAX, NMAX ), W( LW )
92 COMMON / infoc / infot, nout, ok, lerr
93 COMMON / srnamc / srnamt
101 WRITE( nout, fmt = * )
108 a( i, j ) = 1.d0 / dble( i+j )
116 IF( lsamen( 2, c2,
'BD' ) )
THEN
122 CALL zgebrd( -1, 0, a, 1, d, e, tq, tp, w, 1, info )
123 CALL chkxer(
'ZGEBRD', infot, nout, lerr, ok )
125 CALL zgebrd( 0, -1, a, 1, d, e, tq, tp, w, 1, info )
126 CALL chkxer(
'ZGEBRD', infot, nout, lerr, ok )
128 CALL zgebrd( 2, 1, a, 1, d, e, tq, tp, w, 2, info )
129 CALL chkxer(
'ZGEBRD', infot, nout, lerr, ok )
131 CALL zgebrd( 2, 1, a, 2, d, e, tq, tp, w, 1, info )
132 CALL chkxer(
'ZGEBRD', infot, nout, lerr, ok )
139 CALL zungbr(
'/', 0, 0, 0, a, 1, tq, w, 1, info )
140 CALL chkxer(
'ZUNGBR', infot, nout, lerr, ok )
142 CALL zungbr(
'Q', -1, 0, 0, a, 1, tq, w, 1, info )
143 CALL chkxer(
'ZUNGBR', infot, nout, lerr, ok )
145 CALL zungbr(
'Q', 0, -1, 0, a, 1, tq, w, 1, info )
146 CALL chkxer(
'ZUNGBR', infot, nout, lerr, ok )
148 CALL zungbr( 'q
', 0, 1, 0, A, 1, TQ, W, 1, INFO )
149 CALL CHKXER( 'zungbr', INFOT, NOUT, LERR, OK )
151 CALL ZUNGBR( 'q
', 1, 0, 1, A, 1, TQ, W, 1, INFO )
152 CALL CHKXER( 'zungbr', INFOT, NOUT, LERR, OK )
154 CALL ZUNGBR( 'p
', 1, 0, 0, A, 1, TQ, W, 1, INFO )
155 CALL CHKXER( 'zungbr', INFOT, NOUT, LERR, OK )
157 CALL ZUNGBR( 'p
', 0, 1, 1, A, 1, TQ, W, 1, INFO )
158 CALL CHKXER( 'zungbr', infot, nout, lerr, ok )
160 CALL zungbr( 'q
', 0, 0, -1, A, 1, TQ, W, 1, INFO )
161 CALL CHKXER( 'zungbr', INFOT, NOUT, LERR, OK )
163 CALL ZUNGBR( 'q
', 2, 1, 1, A, 1, TQ, W, 1, INFO )
164 CALL CHKXER( 'zungbr', INFOT, NOUT, LERR, OK )
166 CALL ZUNGBR( 'q', 2, 2, 1, a, 2, tq, w, 1, info )
167 CALL chkxer(
'ZUNGBR', infot, nout, lerr, ok )
174 CALL zunmbr(
'/',
'L',
'T', 0, 0, 0, a, 1, tq, u, 1, w, 1,
176 CALL chkxer(
'ZUNMBR', infot, nout
178 CALL zunmbr(
'Q',
'/',
'T', 0, 0, 0, a, 1, tq, u, 1, w, 1,
180 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
182 CALL zunmbr(
'Q',
'L',
'/', 0, 0, 0, a, 1, tq, u, 1, w, 1,
184 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
186 CALL zunmbr(
'Q',
'L',
'C', -1, 0, 0, a
188 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
190 CALL zunmbr(
'Q',
'L',
'C', 0, -1, 0, a, 1,
192 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
194 CALL zunmbr(
'Q',
'L',
'C', 0, 0, -1, a, 1, tq, u, 1, w, 1,
196 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
198 CALL zunmbr(
'Q',
'L',
'C', 2, 0, 0, a, 1, tq, u, 2, w, 1,
200 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
202 CALL zunmbr(
'Q',
'R',
'C', 0, 2, 0, a, 1, tq, u, 1, w, 1,
204 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
206 CALL zunmbr(
'P',
'L',
'C', 2, 0, 2, a, 1, tq, u, 2, w, 1,
208 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
210 CALL zunmbr(
'P',
'R',
'C', 0, 2, 2, a, 1, tq, u, 1, w, 1,
212 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
214 CALL zunmbr(
'Q',
'R',
'C', 2, 0, 0, a, 1, tq, u
216 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
218 CALL zunmbr(
'Q',
'L',
'C', 0, 2, 0, a, 1, tq, u, 1, w, 0,
220 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
222 CALL zunmbr(
'Q',
'R',
'C', 2, 0, 0, a, 1, tq, u, 2, w, 0,
224 CALL chkxer(
'ZUNMBR', infot, nout, lerr, ok )
231 CALL zbdsqr(
'/', 0, 0, 0, 0, d, e, v, 1, u, 1, a, 1, rw,
233 CALL chkxer(
'ZBDSQR', infot, nout, lerr, ok )
235 CALL zbdsqr(
'U', -1, 0, 0, 0, d, e, v, 1, u, 1, a, 1, rw,
239 CALL ZBDSQR( 'u
', 0, -1, 0, 0, D, E, V, 1, U, 1, A, 1, RW,
241 CALL CHKXER( 'zbdsqr', INFOT, NOUT, LERR, OK )
243 CALL ZBDSQR( 'u
', 0, 0, -1, 0, D, E, V, 1, U, 1, A, 1, RW,
245 CALL CHKXER( 'zbdsqr', INFOT, NOUT, LERR, OK )
247 CALL ZBDSQR( 'u
', 0, 0, 0, -1, D, E, V, 1, U, 1, A, 1, RW,
249 CALL CHKXER( 'zbdsqr', INFOT, NOUT, LERR, OK )
251 CALL ZBDSQR( 'u
', 2, 1, 0, 0, D, E, V, 1, U, 1, A, 1, RW,
253 CALL CHKXER( 'zbdsqr', INFOT, NOUT, LERR, OK )
255 CALL ZBDSQR( 'u
', 0, 0, 2, 0, D, E, V, 1, U, 1, A, 1, RW,
257 CALL CHKXER( 'zbdsqr', INFOT, NOUT, LERR, OK )
259 CALL ZBDSQR( 'u
', 2, 0, 0, 1, D, E, V, 1, U, 1, A, 1, RW,
261 CALL CHKXER( 'zbdsqr', INFOT, NOUT, LERR, OK )
268 WRITE( NOUT, FMT = 9999 )PATH, NT
270 WRITE( NOUT, FMT = 9998 )PATH
273 9999 FORMAT( 1X, A3, ' routines passed
the tests of
the error exits(
',
275 9998 FORMAT( ' ***
', A3, ' routines failed
the tests of
the error
',