70 parameter( nmax = 4, lw = nmax*( nmax+2 ) )
71 DOUBLE PRECISION ONE, ZERO
72 parameter( one = 1.0d0, zero = 0.0d0 )
75 INTEGER I, IFST, ILST, INFO, J, M, NT
76 DOUBLE PRECISION SCALE
80 DOUBLE PRECISION RW( LW ), S( NMAX ), SEP( NMAX )
81 COMPLEX*16 A( NMAX, NMAX ), B( NMAX, NMAX ),
82 $ C( NMAX, NMAX ), WORK( LW ), X( NMAX )
93 COMMON / infoc / infot, nout, ok, lerr
94 COMMON / srnamc / srnamt
119 CALL ztrsyl(
'X',
'N', 1, 0, 0, a, 1, b, 1, c, 1, scale, info )
120 CALL chkxer(
'ZTRSYL', infot, nout, lerr, ok )
122 CALL ztrsyl(
'N',
'X', 1, 0, 0, a, 1, b, 1, c, 1, scale, info )
123 CALL chkxer(
'ZTRSYL', infot, nout, lerr, ok )
125 CALL ztrsyl(
'N',
'N', 0, 0, 0, a, 1, b, 1, c, 1, scale, info )
126 CALL chkxer(
'ZTRSYL', infot, nout, lerr, ok )
128 CALL ztrsyl(
'N',
'N', 1, -1, 0, a, 1, b, 1, c, 1, scale, info )
129 CALL chkxer(
'ZTRSYL', infot, nout, lerr, ok )
131 CALL ztrsyl(
'N',
'N', 1, 0, -1, a, 1, b, 1, c, 1, scale, info )
132 CALL chkxer(
'ZTRSYL', infot, nout, lerr, ok )
134 CALL ztrsyl(
'N',
'N', 1, 2, 0, a, 1, b, 1, c, 2, scale, info )
135 CALL chkxer(
'ZTRSYL', infot, nout, lerr, ok )
137 CALL ztrsyl(
'N',
'N', 1, 0, 2, a, 1, b, 1, c, 1, scale, info )
138 CALL chkxer(
'ZTRSYL', infot, nout, lerr, ok )
140 CALL ztrsyl(
'N',
'N', 1, 2, 0, a, 2, b, 1, c, 1, scale, info )
141 CALL chkxer(
'ZTRSYL', infot, nout, lerr, ok )
150 CALL ztrexc(
'X', 1, a, 1, b, 1, ifst, ilst, info )
151 CALL chkxer(
'ZTREXC', infot, nout, lerr, ok )
153 CALL ztrexc(
'N', -1, a, 1, b, 1, ifst, ilst, info )
154 CALL chkxer(
'ZTREXC', infot, nout, lerr, ok )
157 CALL ztrexc(
'N', 2, a, 1, b, 1, ifst, ilst, info )
158 CALL chkxer(
'ZTREXC', infot, nout, lerr, ok )
160 CALL ztrexc(
'V', 2, a, 2, b, 1, ifst, ilst, info )
161 CALL chkxer(
'ZTREXC', infot, nout, lerr, ok )
165 CALL ztrexc(
'V', 1, a, 1, b, 1, ifst, ilst, info )
166 CALL chkxer(
'ZTREXC', infot, nout, lerr, ok )
169 CALL ztrexc(
'V', 1, a, 1, b, 1, ifst, ilst, info )
170 CALL chkxer(
'ZTREXC', infot, nout, lerr, ok )
174 CALL ztrexc(
'V', 1, a, 1, b, 1, ifst, ilst, info )
175 CALL chkxer(
'ZTREXC', infot, nout, lerr, ok )
178 CALL ztrexc(
'V', 1, a, 1, b, 1, ifst, ilst, info )
179 CALL chkxer(
'ZTREXC', infot, nout, lerr, ok )
186 CALL ztrsna(
'X',
'A', sel, 0, a, 1, b, 1, c, 1, s, sep, 1, m,
187 $ work, 1, rw, info )
188 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
190 CALL ztrsna(
'B',
'X', sel, 0, a, 1, b, 1, c, 1, s, sep, 1, m,
191 $ work, 1, rw, info )
192 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
194 CALL ztrsna(
'B',
'A', sel, -1, a, 1, b, 1, c, 1, s, sep, 1, m,
195 $ work, 1, rw, info )
196 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
198 CALL ztrsna(
'V',
'A', sel, 2, a, 1, b, 1, c, 1, s, sep, 2, m,
199 $ work, 2, rw, info )
200 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
202 CALL ztrsna(
'B',
'A', sel, 2, a, 2, b, 1, c, 2, s, sep, 2, m,
203 $ work, 2, rw, info )
204 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
206 CALL ztrsna(
'B',
'A', sel, 2, a, 2, b, 2, c, 1, s, sep, 2, m,
207 $ work, 2, rw, info )
208 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
210 CALL ztrsna(
'B',
'A', sel, 1, a, 1, b, 1, c, 1, s, sep, 0, m,
211 $ work, 1, rw, info )
212 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
214 CALL ztrsna(
'B',
'S', sel, 2, a, 2, b, 2, c, 2, s, sep, 1, m,
215 $ work, 1, rw, info )
216 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
218 CALL ztrsna(
'B',
'A', sel, 2, a, 2, b, 2, c, 2, s, sep, 2, m,
219 $ work, 1, rw, info )
220 CALL chkxer(
'ZTRSNA', infot, nout, lerr, ok )
228 CALL ztrsen(
'X',
'N', sel, 0, a, 1, b, 1, x, m, s( 1 ), sep( 1 ),
230 CALL chkxer(
'ZTRSEN', infot, nout, lerr, ok )
232 CALL ztrsen(
'N',
'X', sel, 0, a, 1, b, 1, x, m, s( 1 ), sep( 1 ),
234 CALL chkxer(
'ZTRSEN', infot, nout, lerr, ok )
236 CALL ztrsen(
'N',
'N', sel, -1, a, 1, b, 1, x, m, s( 1 ),
237 $ sep( 1 ), work, 1, info )
238 CALL chkxer(
'ZTRSEN', infot, nout, lerr, ok )
240 CALL ztrsen(
'N',
'N', sel, 2, a, 1, b, 1, x, m, s( 1 ), sep( 1 ),
242 CALL chkxer(
'ZTRSEN', infot, nout, lerr, ok )
244 CALL ztrsen(
'N',
'V', sel, 2, a, 2, b, 1, x, m, s( 1 ), sep( 1 ),
246 CALL chkxer(
'ZTRSEN', infot, nout, lerr, ok )
248 CALL ztrsen(
'N',
'V', sel, 2, a, 2, b, 2, x, m, s( 1 ), sep( 1 ),
250 CALL chkxer(
'ZTRSEN', infot, nout, lerr, ok )
252 CALL ztrsen(
'E',
'V', sel, 3, a, 3, b, 3, x, m, s( 1 ), sep( 1 ),
254 CALL chkxer(
'ZTRSEN', infot, nout, lerr, ok )
256 CALL ztrsen(
'V',
'V', sel, 3, a, 3, b, 3, x, m, s( 1 ), sep( 1 ),
258 CALL chkxer(
'ZTRSEN', infot, nout, lerr, ok )
264 WRITE( nout, fmt = 9999 )path, nt
266 WRITE( nout, fmt = 9998 )path
269 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
270 $ i3,
' tests done)' )
271 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zerrec(PATH, NUNIT)
ZERREC
subroutine ztrexc(COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO)
ZTREXC
subroutine ztrsna(JOB, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR, LDVR, S, SEP, MM, M, WORK, LDWORK, RWORK, INFO)
ZTRSNA
subroutine ztrsen(JOB, COMPQ, SELECT, N, T, LDT, Q, LDQ, W, M, S, SEP, WORK, LWORK, INFO)
ZTRSEN
subroutine ztrsyl(TRANA, TRANB, ISGN, M, N, A, LDA, B, LDB, C, LDC, SCALE, INFO)
ZTRSYL