LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ cerrsy()

subroutine cerrsy ( character*3  path,
integer  nunit 
)

CERRSY

Purpose:
 CERRSY tests the error exits for the COMPLEX routines
 for symmetric indefinite matrices.
Parameters
[in]PATH
          PATH is CHARACTER*3
          The LAPACK path name for the routines to be tested.
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 54 of file cerrsy.f.

55*
56* -- LAPACK test routine --
57* -- LAPACK is a software package provided by Univ. of Tennessee, --
58* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
59*
60* .. Scalar Arguments ..
61 CHARACTER*3 PATH
62 INTEGER NUNIT
63* ..
64*
65* =====================================================================
66*
67* .. Parameters ..
68 INTEGER NMAX
69 parameter( nmax = 4 )
70* ..
71* .. Local Scalars ..
72 CHARACTER*2 C2
73 INTEGER I, INFO, J
74 REAL ANRM, RCOND
75* ..
76* .. Local Arrays ..
77 INTEGER IP( NMAX )
78 REAL R( NMAX ), R1( NMAX ), R2( NMAX )
79 COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
80 $ E( NMAX), W( 2*NMAX ), X( NMAX )
81* ..
82* .. External Functions ..
83 LOGICAL LSAMEN
84 EXTERNAL lsamen
85* ..
86* .. External Subroutines ..
87 EXTERNAL alaesm, chkxer, cspcon, csprfs, csptrf, csptri,
93* ..
94* .. Scalars in Common ..
95 LOGICAL LERR, OK
96 CHARACTER*32 SRNAMT
97 INTEGER INFOT, NOUT
98* ..
99* .. Common blocks ..
100 COMMON / infoc / infot, nout, ok, lerr
101 COMMON / srnamc / srnamt
102* ..
103* .. Intrinsic Functions ..
104 INTRINSIC cmplx, real
105* ..
106* .. Executable Statements ..
107*
108 nout = nunit
109 WRITE( nout, fmt = * )
110 c2 = path( 2: 3 )
111*
112* Set the variables to innocuous values.
113*
114 DO 20 j = 1, nmax
115 DO 10 i = 1, nmax
116 a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
117 af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
118 10 CONTINUE
119 b( j ) = 0.e0
120 e( j ) = 0.e0
121 r1( j ) = 0.e0
122 r2( j ) = 0.e0
123 w( j ) = 0.e0
124 x( j ) = 0.e0
125 ip( j ) = j
126 20 CONTINUE
127 anrm = 1.0
128 ok = .true.
129*
130 IF( lsamen( 2, c2, 'SY' ) ) THEN
131*
132* Test error exits of the routines that use factorization
133* of a symmetric indefinite matrix with partial
134* (Bunch-Kaufman) diagonal pivoting method.
135*
136* CSYTRF
137*
138 srnamt = 'CSYTRF'
139 infot = 1
140 CALL csytrf( '/', 0, a, 1, ip, w, 1, info )
141 CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
142 infot = 2
143 CALL csytrf( 'U', -1, a, 1, ip, w, 1, info )
144 CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
145 infot = 4
146 CALL csytrf( 'U', 2, a, 1, ip, w, 4, info )
147 CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
148 infot = 7
149 CALL csytrf( 'U', 0, a, 1, ip, w, 0, info )
150 CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
151 infot = 7
152 CALL csytrf( 'U', 0, a, 1, ip, w, -2, info )
153 CALL chkxer( 'CSYTRF', infot, nout, lerr, ok )
154*
155* CSYTF2
156*
157 srnamt = 'CSYTF2'
158 infot = 1
159 CALL csytf2( '/', 0, a, 1, ip, info )
160 CALL chkxer( 'CSYTF2', infot, nout, lerr, ok )
161 infot = 2
162 CALL csytf2( 'U', -1, a, 1, ip, info )
163 CALL chkxer( 'CSYTF2', infot, nout, lerr, ok )
164 infot = 4
165 CALL csytf2( 'U', 2, a, 1, ip, info )
166 CALL chkxer( 'CSYTF2', infot, nout, lerr, ok )
167*
168* CSYTRI
169*
170 srnamt = 'CSYTRI'
171 infot = 1
172 CALL csytri( '/', 0, a, 1, ip, w, info )
173 CALL chkxer( 'CSYTRI', infot, nout, lerr, ok )
174 infot = 2
175 CALL csytri( 'U', -1, a, 1, ip, w, info )
176 CALL chkxer( 'CSYTRI', infot, nout, lerr, ok )
177 infot = 4
178 CALL csytri( 'U', 2, a, 1, ip, w, info )
179 CALL chkxer( 'CSYTRI', infot, nout, lerr, ok )
180*
181* CSYTRI2
182*
183 srnamt = 'CSYTRI2'
184 infot = 1
185 CALL csytri2( '/', 0, a, 1, ip, w, 1, info )
186 CALL chkxer( 'CSYTRI2', infot, nout, lerr, ok )
187 infot = 2
188 CALL csytri2( 'U', -1, a, 1, ip, w, 1, info )
189 CALL chkxer( 'CSYTRI2', infot, nout, lerr, ok )
190 infot = 4
191 CALL csytri2( 'U', 2, a, 1, ip, w, 1, info )
192 CALL chkxer( 'CSYTRI2', infot, nout, lerr, ok )
193*
194* CSYTRI2X
195*
196 srnamt = 'CSYTRI2X'
197 infot = 1
198 CALL csytri2x( '/', 0, a, 1, ip, w, 1, info )
199 CALL chkxer( 'CSYTRI2X', infot, nout, lerr, ok )
200 infot = 2
201 CALL csytri2x( 'U', -1, a, 1, ip, w, 1, info )
202 CALL chkxer( 'CSYTRI2X', infot, nout, lerr, ok )
203 infot = 4
204 CALL csytri2x( 'U', 2, a, 1, ip, w, 1, info )
205 CALL chkxer( 'CSYTRI2X', infot, nout, lerr, ok )
206*
207* CSYTRS
208*
209 srnamt = 'CSYTRS'
210 infot = 1
211 CALL csytrs( '/', 0, 0, a, 1, ip, b, 1, info )
212 CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
213 infot = 2
214 CALL csytrs( 'U', -1, 0, a, 1, ip, b, 1, info )
215 CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
216 infot = 3
217 CALL csytrs( 'U', 0, -1, a, 1, ip, b, 1, info )
218 CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
219 infot = 5
220 CALL csytrs( 'U', 2, 1, a, 1, ip, b, 2, info )
221 CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
222 infot = 8
223 CALL csytrs( 'U', 2, 1, a, 2, ip, b, 1, info )
224 CALL chkxer( 'CSYTRS', infot, nout, lerr, ok )
225*
226* CSYRFS
227*
228 srnamt = 'CSYRFS'
229 infot = 1
230 CALL csyrfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
231 $ r, info )
232 CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
233 infot = 2
234 CALL csyrfs( 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
235 $ w, r, info )
236 CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
237 infot = 3
238 CALL csyrfs( 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
239 $ w, r, info )
240 CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
241 infot = 5
242 CALL csyrfs( 'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
243 $ r, info )
244 CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
245 infot = 7
246 CALL csyrfs( 'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
247 $ r, info )
248 CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
249 infot = 10
250 CALL csyrfs( 'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
251 $ r, info )
252 CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
253 infot = 12
254 CALL csyrfs( 'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
255 $ r, info )
256 CALL chkxer( 'CSYRFS', infot, nout, lerr, ok )
257*
258* CSYCON
259*
260 srnamt = 'CSYCON'
261 infot = 1
262 CALL csycon( '/', 0, a, 1, ip, anrm, rcond, w, info )
263 CALL chkxer( 'CSYCON', infot, nout, lerr, ok )
264 infot = 2
265 CALL csycon( 'U', -1, a, 1, ip, anrm, rcond, w, info )
266 CALL chkxer( 'CSYCON', infot, nout, lerr, ok )
267 infot = 4
268 CALL csycon( 'U', 2, a, 1, ip, anrm, rcond, w, info )
269 CALL chkxer( 'CSYCON', infot, nout, lerr, ok )
270 infot = 6
271 CALL csycon( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
272 CALL chkxer( 'CSYCON', infot, nout, lerr, ok )
273*
274 ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
275*
276* Test error exits of the routines that use factorization
277* of a symmetric indefinite matrix with rook
278* (bounded Bunch-Kaufman) diagonal pivoting method.
279*
280* CSYTRF_ROOK
281*
282 srnamt = 'CSYTRF_ROOK'
283 infot = 1
284 CALL csytrf_rook( '/', 0, a, 1, ip, w, 1, info )
285 CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
286 infot = 2
287 CALL csytrf_rook( 'U', -1, a, 1, ip, w, 1, info )
288 CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
289 infot = 4
290 CALL csytrf_rook( 'U', 2, a, 1, ip, w, 4, info )
291 CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
292 infot = 7
293 CALL csytrf_rook( 'U', 0, a, 1, ip, w, 0, info )
294 CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
295 infot = 7
296 CALL csytrf_rook( 'U', 0, a, 1, ip, w, -2, info )
297 CALL chkxer( 'CSYTRF_ROOK', infot, nout, lerr, ok )
298*
299* CSYTF2_ROOK
300*
301 srnamt = 'CSYTF2_ROOK'
302 infot = 1
303 CALL csytf2_rook( '/', 0, a, 1, ip, info )
304 CALL chkxer( 'CSYTF2_ROOK', infot, nout, lerr, ok )
305 infot = 2
306 CALL csytf2_rook( 'U', -1, a, 1, ip, info )
307 CALL chkxer( 'CSYTF2_ROOK', infot, nout, lerr, ok )
308 infot = 4
309 CALL csytf2_rook( 'U', 2, a, 1, ip, info )
310 CALL chkxer( 'CSYTF2_ROOK', infot, nout, lerr, ok )
311*
312* CSYTRI_ROOK
313*
314 srnamt = 'CSYTRI_ROOK'
315 infot = 1
316 CALL csytri_rook( '/', 0, a, 1, ip, w, info )
317 CALL chkxer( 'CSYTRI_ROOK', infot, nout, lerr, ok )
318 infot = 2
319 CALL csytri_rook( 'U', -1, a, 1, ip, w, info )
320 CALL chkxer( 'CSYTRI_ROOK', infot, nout, lerr, ok )
321 infot = 4
322 CALL csytri_rook( 'U', 2, a, 1, ip, w, info )
323 CALL chkxer( 'CSYTRI_ROOK', infot, nout, lerr, ok )
324*
325* CSYTRS_ROOK
326*
327 srnamt = 'CSYTRS_ROOK'
328 infot = 1
329 CALL csytrs_rook( '/', 0, 0, a, 1, ip, b, 1, info )
330 CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
331 infot = 2
332 CALL csytrs_rook( 'U', -1, 0, a, 1, ip, b, 1, info )
333 CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
334 infot = 3
335 CALL csytrs_rook( 'U', 0, -1, a, 1, ip, b, 1, info )
336 CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
337 infot = 5
338 CALL csytrs_rook( 'U', 2, 1, a, 1, ip, b, 2, info )
339 CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
340 infot = 8
341 CALL csytrs_rook( 'U', 2, 1, a, 2, ip, b, 1, info )
342 CALL chkxer( 'CSYTRS_ROOK', infot, nout, lerr, ok )
343*
344* CSYCON_ROOK
345*
346 srnamt = 'CSYCON_ROOK'
347 infot = 1
348 CALL csycon_rook( '/', 0, a, 1, ip, anrm, rcond, w, info )
349 CALL chkxer( 'CSYCON_ROOK', infot, nout, lerr, ok )
350 infot = 2
351 CALL csycon_rook( 'U', -1, a, 1, ip, anrm, rcond, w, info )
352 CALL chkxer( 'CSYCON_ROOK', infot, nout, lerr, ok )
353 infot = 4
354 CALL csycon_rook( 'U', 2, a, 1, ip, anrm, rcond, w, info )
355 CALL chkxer( 'CSYCON_ROOK', infot, nout, lerr, ok )
356 infot = 6
357 CALL csycon_rook( 'U', 1, a, 1, ip, -anrm, rcond, w, info )
358 CALL chkxer( 'CSYCON_ROOK', infot, nout, lerr, ok )
359*
360 ELSE IF( lsamen( 2, c2, 'SK' ) ) THEN
361*
362* Test error exits of the routines that use factorization
363* of a symmetric indefinite matrix with rook
364* (bounded Bunch-Kaufman) pivoting with the new storage
365* format for factors L ( or U) and D.
366*
367* L (or U) is stored in A, diagonal of D is stored on the
368* diagonal of A, subdiagonal of D is stored in a separate array E.
369*
370* CSYTRF_RK
371*
372 srnamt = 'CSYTRF_RK'
373 infot = 1
374 CALL csytrf_rk( '/', 0, a, 1, e, ip, w, 1, info )
375 CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
376 infot = 2
377 CALL csytrf_rk( 'U', -1, a, 1, e, ip, w, 1, info )
378 CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
379 infot = 4
380 CALL csytrf_rk( 'U', 2, a, 1, e, ip, w, 4, info )
381 CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
382 infot = 8
383 CALL csytrf_rk( 'U', 0, a, 1, e, ip, w, 0, info )
384 CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
385 infot = 8
386 CALL csytrf_rk( 'U', 0, a, 1, e, ip, w, -2, info )
387 CALL chkxer( 'CSYTRF_RK', infot, nout, lerr, ok )
388*
389* CSYTF2_RK
390*
391 srnamt = 'CSYTF2_RK'
392 infot = 1
393 CALL csytf2_rk( '/', 0, a, 1, e, ip, info )
394 CALL chkxer( 'CSYTF2_RK', infot, nout, lerr, ok )
395 infot = 2
396 CALL csytf2_rk( 'U', -1, a, 1, e, ip, info )
397 CALL chkxer( 'CSYTF2_RK', infot, nout, lerr, ok )
398 infot = 4
399 CALL csytf2_rk( 'U', 2, a, 1, e, ip, info )
400 CALL chkxer( 'CSYTF2_RK', infot, nout, lerr, ok )
401*
402* CSYTRI_3
403*
404 srnamt = 'CSYTRI_3'
405 infot = 1
406 CALL csytri_3( '/', 0, a, 1, e, ip, w, 1, info )
407 CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
408 infot = 2
409 CALL csytri_3( 'U', -1, a, 1, e, ip, w, 1, info )
410 CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
411 infot = 4
412 CALL csytri_3( 'U', 2, a, 1, e, ip, w, 1, info )
413 CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
414 infot = 8
415 CALL csytri_3( 'U', 0, a, 1, e, ip, w, 0, info )
416 CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
417 infot = 8
418 CALL csytri_3( 'U', 0, a, 1, e, ip, w, -2, info )
419 CALL chkxer( 'CSYTRI_3', infot, nout, lerr, ok )
420*
421* CSYTRI_3X
422*
423 srnamt = 'CSYTRI_3X'
424 infot = 1
425 CALL csytri_3x( '/', 0, a, 1, e, ip, w, 1, info )
426 CALL chkxer( 'CSYTRI_3X', infot, nout, lerr, ok )
427 infot = 2
428 CALL csytri_3x( 'U', -1, a, 1, e, ip, w, 1, info )
429 CALL chkxer( 'CSYTRI_3X', infot, nout, lerr, ok )
430 infot = 4
431 CALL csytri_3x( 'U', 2, a, 1, e, ip, w, 1, info )
432 CALL chkxer( 'CSYTRI_3X', infot, nout, lerr, ok )
433*
434* CSYTRS_3
435*
436 srnamt = 'CSYTRS_3'
437 infot = 1
438 CALL csytrs_3( '/', 0, 0, a, 1, e, ip, b, 1, info )
439 CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
440 infot = 2
441 CALL csytrs_3( 'U', -1, 0, a, 1, e, ip, b, 1, info )
442 CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
443 infot = 3
444 CALL csytrs_3( 'U', 0, -1, a, 1, e, ip, b, 1, info )
445 CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
446 infot = 5
447 CALL csytrs_3( 'U', 2, 1, a, 1, e, ip, b, 2, info )
448 CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
449 infot = 9
450 CALL csytrs_3( 'U', 2, 1, a, 2, e, ip, b, 1, info )
451 CALL chkxer( 'CSYTRS_3', infot, nout, lerr, ok )
452*
453* CSYCON_3
454*
455 srnamt = 'CSYCON_3'
456 infot = 1
457 CALL csycon_3( '/', 0, a, 1, e, ip, anrm, rcond, w, info )
458 CALL chkxer( 'CSYCON_3', infot, nout, lerr, ok )
459 infot = 2
460 CALL csycon_3( 'U', -1, a, 1, e, ip, anrm, rcond, w, info )
461 CALL chkxer( 'CSYCON_3', infot, nout, lerr, ok )
462 infot = 4
463 CALL csycon_3( 'U', 2, a, 1, e, ip, anrm, rcond, w, info )
464 CALL chkxer( 'CSYCON_3', infot, nout, lerr, ok )
465 infot = 7
466 CALL csycon_3( 'U', 1, a, 1, e, ip, -1.0e0, rcond, w, info)
467 CALL chkxer( 'CSYCON_3', infot, nout, lerr, ok )
468*
469 ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
470*
471* Test error exits of the routines that use factorization
472* of a symmetric indefinite packed matrix with partial
473* (Bunch-Kaufman) diagonal pivoting method.
474*
475* CSPTRF
476*
477 srnamt = 'CSPTRF'
478 infot = 1
479 CALL csptrf( '/', 0, a, ip, info )
480 CALL chkxer( 'CSPTRF', infot, nout, lerr, ok )
481 infot = 2
482 CALL csptrf( 'U', -1, a, ip, info )
483 CALL chkxer( 'CSPTRF', infot, nout, lerr, ok )
484*
485* CSPTRI
486*
487 srnamt = 'CSPTRI'
488 infot = 1
489 CALL csptri( '/', 0, a, ip, w, info )
490 CALL chkxer( 'CSPTRI', infot, nout, lerr, ok )
491 infot = 2
492 CALL csptri( 'U', -1, a, ip, w, info )
493 CALL chkxer( 'CSPTRI', infot, nout, lerr, ok )
494*
495* CSPTRS
496*
497 srnamt = 'CSPTRS'
498 infot = 1
499 CALL csptrs( '/', 0, 0, a, ip, b, 1, info )
500 CALL chkxer( 'CSPTRS', infot, nout, lerr, ok )
501 infot = 2
502 CALL csptrs( 'U', -1, 0, a, ip, b, 1, info )
503 CALL chkxer( 'CSPTRS', infot, nout, lerr, ok )
504 infot = 3
505 CALL csptrs( 'U', 0, -1, a, ip, b, 1, info )
506 CALL chkxer( 'CSPTRS', infot, nout, lerr, ok )
507 infot = 7
508 CALL csptrs( 'U', 2, 1, a, ip, b, 1, info )
509 CALL chkxer( 'CSPTRS', infot, nout, lerr, ok )
510*
511* CSPRFS
512*
513 srnamt = 'CSPRFS'
514 infot = 1
515 CALL csprfs( '/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
516 $ info )
517 CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
518 infot = 2
519 CALL csprfs( 'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
520 $ info )
521 CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
522 infot = 3
523 CALL csprfs( 'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, r,
524 $ info )
525 CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
526 infot = 8
527 CALL csprfs( 'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, r,
528 $ info )
529 CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
530 infot = 10
531 CALL csprfs( 'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, r,
532 $ info )
533 CALL chkxer( 'CSPRFS', infot, nout, lerr, ok )
534*
535* CSPCON
536*
537 srnamt = 'CSPCON'
538 infot = 1
539 CALL cspcon( '/', 0, a, ip, anrm, rcond, w, info )
540 CALL chkxer( 'CSPCON', infot, nout, lerr, ok )
541 infot = 2
542 CALL cspcon( 'U', -1, a, ip, anrm, rcond, w, info )
543 CALL chkxer( 'CSPCON', infot, nout, lerr, ok )
544 infot = 5
545 CALL cspcon( 'U', 1, a, ip, -anrm, rcond, w, info )
546 CALL chkxer( 'CSPCON', infot, nout, lerr, ok )
547*
548 ELSE IF( lsamen( 2, c2, 'SA' ) ) THEN
549*
550* Test error exits of the routines that use factorization
551* of a symmetric indefinite matrix with Aasen's algorithm
552*
553* CSYTRF_AA
554*
555 srnamt = 'CSYTRF_AA'
556 infot = 1
557 CALL csytrf_aa( '/', 0, a, 1, ip, w, 1, info )
558 CALL chkxer( 'CSYTRF_AA', infot, nout, lerr, ok )
559 infot = 2
560 CALL csytrf_aa( 'U', -1, a, 1, ip, w, 1, info )
561 CALL chkxer( 'CSYTRF_AA', infot, nout, lerr, ok )
562 infot = 4
563 CALL csytrf_aa( 'U', 2, a, 1, ip, w, 4, info )
564 CALL chkxer( 'CSYTRF_AA', infot, nout, lerr, ok )
565 infot = 7
566 CALL csytrf_aa( 'U', 0, a, 1, ip, w, 0, info )
567 CALL chkxer( 'CSYTRF_AA', infot, nout, lerr, ok )
568 infot = 7
569 CALL csytrf_aa( 'U', 0, a, 1, ip, w, -2, info )
570 CALL chkxer( 'CSYTRF_AA', infot, nout, lerr, ok )
571*
572* CSYTRS_AA
573*
574 srnamt = 'CSYTRS_AA'
575 infot = 1
576 CALL csytrs_aa( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
577 CALL chkxer( 'CSYTRS_AA', infot, nout, lerr, ok )
578 infot = 2
579 CALL csytrs_aa( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
580 CALL chkxer( 'CSYTRS_AA', infot, nout, lerr, ok )
581 infot = 3
582 CALL csytrs_aa( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
583 CALL chkxer( 'CSYTRS_AA', infot, nout, lerr, ok )
584 infot = 5
585 CALL csytrs_aa( 'U', 2, 1, a, 1, ip, b, 2, w, 1, info )
586 CALL chkxer( 'CSYTRS_AA', infot, nout, lerr, ok )
587 infot = 8
588 CALL csytrs_aa( 'U', 2, 1, a, 2, ip, b, 1, w, 1, info )
589 CALL chkxer( 'CSYTRS_AA', infot, nout, lerr, ok )
590 infot = 10
591 CALL csytrs_aa( 'U', 0, 1, a, 1, ip, b, 1, w, 0, info )
592 CALL chkxer( 'CSYTRS_AA', infot, nout, lerr, ok )
593 infot = 10
594 CALL csytrs_aa( 'U', 0, 1, a, 1, ip, b, 1, w, -2, info )
595 CALL chkxer( 'CSYTRS_AA', infot, nout, lerr, ok )
596*
597 ELSE IF( lsamen( 2, c2, 'S2' ) ) THEN
598*
599* Test error exits of the routines that use factorization
600* of a symmetric indefinite matrix with Aasen's algorithm.
601*
602* CSYTRF_AA_2STAGE
603*
604 srnamt = 'CSYTRF_AA_2STAGE'
605 infot = 1
606 CALL csytrf_aa_2stage( '/', 0, a, 1, a, 1, ip, ip, w, 1,
607 $ info )
608 CALL chkxer( 'CSYTRF_AA_2STAGE', infot, nout, lerr, ok )
609 infot = 2
610 CALL csytrf_aa_2stage( 'U', -1, a, 1, a, 1, ip, ip, w, 1,
611 $ info )
612 CALL chkxer( 'CSYTRF_AA_2STAGE', infot, nout, lerr, ok )
613 infot = 4
614 CALL csytrf_aa_2stage( 'U', 2, a, 1, a, 2, ip, ip, w, 1,
615 $ info )
616 CALL chkxer( 'CSYTRF_AA_2STAGE', infot, nout, lerr, ok )
617 infot = 6
618 CALL csytrf_aa_2stage( 'U', 2, a, 2, a, 1, ip, ip, w, 1,
619 $ info )
620 CALL chkxer( 'CSYTRF_AA_2STAGE', infot, nout, lerr, ok )
621 infot = 10
622 CALL csytrf_aa_2stage( 'U', 2, a, 2, a, 8, ip, ip, w, 0,
623 $ info )
624 CALL chkxer( 'CSYTRF_AA_2STAGE', infot, nout, lerr, ok )
625*
626* CHETRS_AA_2STAGE
627*
628 srnamt = 'CSYTRS_AA_2STAGE'
629 infot = 1
630 CALL csytrs_aa_2stage( '/', 0, 0, a, 1, a, 1, ip, ip,
631 $ b, 1, info )
632 CALL chkxer( 'CSYTRS_AA_2STAGE', infot, nout, lerr, ok )
633 infot = 2
634 CALL csytrs_aa_2stage( 'U', -1, 0, a, 1, a, 1, ip, ip,
635 $ b, 1, info )
636 CALL chkxer( 'CSYTRS_AA_2STAGE', infot, nout, lerr, ok )
637 infot = 3
638 CALL csytrs_aa_2stage( 'U', 0, -1, a, 1, a, 1, ip, ip,
639 $ b, 1, info )
640 CALL chkxer( 'CSYTRS_AA_2STAGE', infot, nout, lerr, ok )
641 infot = 5
642 CALL csytrs_aa_2stage( 'U', 2, 1, a, 1, a, 1, ip, ip,
643 $ b, 1, info )
644 CALL chkxer( 'CSYTRS_AA_2STAGE', infot, nout, lerr, ok )
645 infot = 7
646 CALL csytrs_aa_2stage( 'U', 2, 1, a, 2, a, 1, ip, ip,
647 $ b, 1, info )
648 CALL chkxer( 'CSYTRS_AA_2STAGE', infot, nout, lerr, ok )
649 infot = 11
650 CALL csytrs_aa_2stage( 'U', 2, 1, a, 2, a, 8, ip, ip,
651 $ b, 1, info )
652 CALL chkxer( 'CSYTRS_AA_STAGE', infot, nout, lerr, ok )
653*
654 END IF
655*
656* Print a summary line.
657*
658 CALL alaesm( path, ok, nout )
659*
660 RETURN
661*
662* End of CERRSY
663*
subroutine alaesm(path, ok, nout)
ALAESM
Definition alaesm.f:63
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3224
subroutine csycon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, info)
CSYCON_3
Definition csycon_3.f:166
subroutine csycon_rook(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
CSYCON_ROOK
subroutine csycon(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
CSYCON
Definition csycon.f:125
subroutine csyrfs(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
CSYRFS
Definition csyrfs.f:192
subroutine csytf2_rk(uplo, n, a, lda, e, ipiv, info)
CSYTF2_RK computes the factorization of a complex symmetric indefinite matrix using the bounded Bunch...
Definition csytf2_rk.f:241
subroutine csytf2_rook(uplo, n, a, lda, ipiv, info)
CSYTF2_ROOK computes the factorization of a complex symmetric indefinite matrix using the bounded Bun...
subroutine csytf2(uplo, n, a, lda, ipiv, info)
CSYTF2 computes the factorization of a real symmetric indefinite matrix, using the diagonal pivoting ...
Definition csytf2.f:191
subroutine csytrf_aa_2stage(uplo, n, a, lda, tb, ltb, ipiv, ipiv2, work, lwork, info)
CSYTRF_AA_2STAGE
subroutine csytrf_aa(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRF_AA
Definition csytrf_aa.f:132
subroutine csytrf_rk(uplo, n, a, lda, e, ipiv, work, lwork, info)
CSYTRF_RK computes the factorization of a complex symmetric indefinite matrix using the bounded Bunch...
Definition csytrf_rk.f:259
subroutine csytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRF_ROOK
subroutine csytrf(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRF
Definition csytrf.f:182
subroutine csytri2(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRI2
Definition csytri2.f:127
subroutine csytri2x(uplo, n, a, lda, ipiv, work, nb, info)
CSYTRI2X
Definition csytri2x.f:120
subroutine csytri_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
CSYTRI_3
Definition csytri_3.f:170
subroutine csytri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
CSYTRI_3X
Definition csytri_3x.f:159
subroutine csytri_rook(uplo, n, a, lda, ipiv, work, info)
CSYTRI_ROOK
subroutine csytri(uplo, n, a, lda, ipiv, work, info)
CSYTRI
Definition csytri.f:114
subroutine csytrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
CSYTRS_3
Definition csytrs_3.f:165
subroutine csytrs_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, info)
CSYTRS_AA_2STAGE
subroutine csytrs_aa(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
CSYTRS_AA
Definition csytrs_aa.f:131
subroutine csytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
CSYTRS_ROOK
subroutine csytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
CSYTRS
Definition csytrs.f:120
subroutine cspcon(uplo, n, ap, ipiv, anorm, rcond, work, info)
CSPCON
Definition cspcon.f:118
subroutine csprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
CSPRFS
Definition csprfs.f:180
subroutine csptrf(uplo, n, ap, ipiv, info)
CSPTRF
Definition csptrf.f:158
subroutine csptri(uplo, n, ap, ipiv, work, info)
CSPTRI
Definition csptri.f:109
subroutine csptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
CSPTRS
Definition csptrs.f:115
logical function lsamen(n, ca, cb)
LSAMEN
Definition lsamen.f:74
Here is the call graph for this function:
Here is the caller graph for this function: