68 parameter( nmax = 4, lw = nmax )
72 INTEGER I, INFO, J, NT
75 REAL D( NMAX ), E( NMAX ), RW( 4*NMAX )
76 COMPLEX 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. / real( i+j )
116 IF( lsamen( 2, c2,
'BD' ) )
THEN
122 CALL cgebrd( -1, 0, a, 1, d, e, tq, tp, w, 1, info )
123 CALL chkxer(
'CGEBRD', infot, nout, lerr, ok )
125 CALL cgebrd( 0, -1, a, 1, d, e, tq, tp, w, 1, info )
126 CALL chkxer(
'CGEBRD', infot, nout, lerr, ok )
128 CALL cgebrd( 2, 1, a, 1, d, e, tq, tp, w, 2, info )
129 CALL chkxer(
'CGEBRD', infot, nout, lerr, ok )
131 CALL cgebrd( 2, 1, a, 2, d, e, tq, tp, w, 1, info )
132 CALL chkxer(
'CGEBRD', infot, nout, lerr, ok )
139 CALL cungbr(
'/', 0, 0, 0, a, 1, tq, w, 1, info )
140 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
142 CALL cungbr(
'Q', -1, 0, 0, a, 1, tq, w, 1, info )
143 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
145 CALL cungbr(
'Q', 0, -1, 0, a, 1, tq, w, 1, info )
146 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
148 CALL cungbr(
'Q', 0, 1, 0, a, 1, tq, w, 1, info )
149 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
151 CALL cungbr(
'Q', 1, 0, 1, a, 1, tq, w, 1, info )
152 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
154 CALL cungbr(
'P', 1, 0, 0, a, 1, tq, w, 1, info )
155 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
157 CALL cungbr(
'P', 0, 1, 1, a, 1, tq, w, 1, info )
158 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
160 CALL cungbr(
'Q', 0, 0, -1, a, 1, tq, w, 1, info )
161 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
163 CALL cungbr(
'Q', 2, 1, 1, a, 1, tq, w, 1, info )
164 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
166 CALL cungbr(
'Q', 2, 2, 1, a, 2, tq, w, 1, info )
167 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
174 CALL cunmbr(
'/',
'L',
'T', 0, 0, 0, a, 1, tq, u, 1, w, 1,
176 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
178 CALL cunmbr(
'Q',
'/',
'T', 0, 0, 0, a, 1, tq, u, 1, w, 1,
180 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
182 CALL cunmbr(
'Q',
'L',
'/', 0, 0, 0, a, 1, tq, u, 1, w, 1,
184 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
186 CALL cunmbr(
'Q',
'L',
'C', -1, 0, 0, a, 1, tq, u, 1, w, 1,
188 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
190 CALL cunmbr(
'Q',
'L',
'C', 0, -1, 0, a, 1, tq, u, 1, w, 1,
192 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
194 CALL cunmbr(
'Q',
'L',
'C', 0, 0, -1, a, 1, tq, u, 1, w, 1,
196 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
198 CALL cunmbr(
'Q',
'L',
'C', 2, 0, 0, a, 1, tq, u, 2, w, 1,
200 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
202 CALL cunmbr(
'Q',
'R',
'C', 0, 2, 0, a, 1, tq, u, 1, w, 1,
204 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
206 CALL cunmbr(
'P',
'L',
'C', 2, 0, 2, a, 1, tq, u, 2, w, 1,
208 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
210 CALL cunmbr(
'P',
'R',
'C', 0, 2, 2, a, 1, tq, u, 1, w, 1,
212 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
214 CALL cunmbr(
'Q',
'R',
'C', 2, 0, 0, a, 1, tq, u, 1, w, 1,
216 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
218 CALL cunmbr(
'Q',
'L',
'C', 0, 2, 0, a, 1, tq, u, 1, w, 0,
220 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
222 CALL cunmbr(
'Q',
'R',
'C', 2, 0, 0, a, 1, tq, u, 2, w, 0,
224 CALL chkxer(
'CUNMBR', infot, nout, lerr, ok )
231 CALL cbdsqr(
'/', 0, 0, 0, 0, d, e, v, 1, u, 1, a, 1, rw,
233 CALL chkxer(
'CBDSQR', infot, nout, lerr, ok )
235 CALL cbdsqr(
'U', -1, 0, 0, 0, d, e, v, 1, u, 1, a, 1, rw,
237 CALL chkxer(
'CBDSQR', infot, nout, lerr, ok )
239 CALL cbdsqr(
'U', 0, -1, 0, 0, d, e, v, 1, u, 1, a, 1, rw,
241 CALL chkxer(
'CBDSQR', infot, nout, lerr, ok )
243 CALL cbdsqr(
'U', 0, 0, -1, 0, d, e, v, 1, u, 1, a, 1, rw,
245 CALL chkxer(
'CBDSQR', infot, nout, lerr, ok )
247 CALL cbdsqr(
'U', 0, 0, 0, -1, d, e, v, 1, u, 1, a, 1, rw,
249 CALL chkxer(
'CBDSQR', infot, nout, lerr, ok )
251 CALL cbdsqr(
'U', 2, 1, 0, 0, d, e, v, 1, u, 1, a, 1, rw,
253 CALL chkxer(
'CBDSQR', infot, nout, lerr, ok )
255 CALL cbdsqr(
'U', 0, 0, 2, 0, d, e, v, 1, u, 1, a, 1, rw,
257 CALL chkxer(
'CBDSQR', infot, nout, lerr, ok )
259 CALL cbdsqr(
'U', 2, 0, 0, 1, d, e, v, 1, u, 1, a, 1, rw,
261 CALL chkxer(
'CBDSQR', 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 (',
274 $ i3,
' tests done)' )
275 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',