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

◆ derrsy()

subroutine derrsy ( character*3  path,
integer  nunit 
)

DERRSY

Purpose:
 DERRSY tests the error exits for the DOUBLE PRECISION 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 derrsy.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 DOUBLE PRECISION ANRM, RCOND
75* ..
76* .. Local Arrays ..
77 INTEGER IP( NMAX ), IW( NMAX )
78 DOUBLE PRECISION A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
79 $ E( NMAX ), R1( NMAX ), R2( NMAX ), W( 3*NMAX ),
80 $ X( NMAX )
81* ..
82* .. External Functions ..
83 LOGICAL LSAMEN
84 EXTERNAL lsamen
85* ..
86* .. External Subroutines ..
87 EXTERNAL alaesm, chkxer, dspcon, dsprfs, dsptrf, dsptri,
94* ..
95* .. Scalars in Common ..
96 LOGICAL LERR, OK
97 CHARACTER*32 SRNAMT
98 INTEGER INFOT, NOUT
99* ..
100* .. Common blocks ..
101 COMMON / infoc / infot, nout, ok, lerr
102 COMMON / srnamc / srnamt
103* ..
104* .. Intrinsic Functions ..
105 INTRINSIC dble
106* ..
107* .. Executable Statements ..
108*
109 nout = nunit
110 WRITE( nout, fmt = * )
111 c2 = path( 2: 3 )
112*
113* Set the variables to innocuous values.
114*
115 DO 20 j = 1, nmax
116 DO 10 i = 1, nmax
117 a( i, j ) = 1.d0 / dble( i+j )
118 af( i, j ) = 1.d0 / dble( i+j )
119 10 CONTINUE
120 b( j ) = 0.d0
121 e( j ) = 0.d0
122 r1( j ) = 0.d0
123 r2( j ) = 0.d0
124 w( j ) = 0.d0
125 x( j ) = 0.d0
126 ip( j ) = j
127 iw( j ) = j
128 20 CONTINUE
129 anrm = 1.0d0
130 rcond = 1.0d0
131 ok = .true.
132*
133 IF( lsamen( 2, c2, 'SY' ) ) THEN
134*
135* Test error exits of the routines that use factorization
136* of a symmetric indefinite matrix with partial
137* (Bunch-Kaufman) pivoting.
138*
139* DSYTRF
140*
141 srnamt = 'DSYTRF'
142 infot = 1
143 CALL dsytrf( '/', 0, a, 1, ip, w, 1, info )
144 CALL chkxer( 'DSYTRF', infot, nout, lerr, ok )
145 infot = 2
146 CALL dsytrf( 'U', -1, a, 1, ip, w, 1, info )
147 CALL chkxer( 'DSYTRF', infot, nout, lerr, ok )
148 infot = 4
149 CALL dsytrf( 'U', 2, a, 1, ip, w, 4, info )
150 CALL chkxer( 'DSYTRF', infot, nout, lerr, ok )
151 infot = 7
152 CALL dsytrf( 'U', 0, a, 1, ip, w, 0, info )
153 CALL chkxer( 'DSYTRF', infot, nout, lerr, ok )
154 infot = 7
155 CALL dsytrf( 'U', 0, a, 1, ip, w, -2, info )
156 CALL chkxer( 'DSYTRF', infot, nout, lerr, ok )
157*
158* DSYTF2
159*
160 srnamt = 'DSYTF2'
161 infot = 1
162 CALL dsytf2( '/', 0, a, 1, ip, info )
163 CALL chkxer( 'DSYTF2', infot, nout, lerr, ok )
164 infot = 2
165 CALL dsytf2( 'U', -1, a, 1, ip, info )
166 CALL chkxer( 'DSYTF2', infot, nout, lerr, ok )
167 infot = 4
168 CALL dsytf2( 'U', 2, a, 1, ip, info )
169 CALL chkxer( 'DSYTF2', infot, nout, lerr, ok )
170*
171* DSYTRI
172*
173 srnamt = 'DSYTRI'
174 infot = 1
175 CALL dsytri( '/', 0, a, 1, ip, w, info )
176 CALL chkxer( 'DSYTRI', infot, nout, lerr, ok )
177 infot = 2
178 CALL dsytri( 'U', -1, a, 1, ip, w, info )
179 CALL chkxer( 'DSYTRI', infot, nout, lerr, ok )
180 infot = 4
181 CALL dsytri( 'U', 2, a, 1, ip, w, info )
182 CALL chkxer( 'DSYTRI', infot, nout, lerr, ok )
183*
184* DSYTRI2
185*
186 srnamt = 'DSYTRI2'
187 infot = 1
188 CALL dsytri2( '/', 0, a, 1, ip, w, iw(1), info )
189 CALL chkxer( 'DSYTRI2', infot, nout, lerr, ok )
190 infot = 2
191 CALL dsytri2( 'U', -1, a, 1, ip, w, iw(1), info )
192 CALL chkxer( 'DSYTRI2', infot, nout, lerr, ok )
193 infot = 4
194 CALL dsytri2( 'U', 2, a, 1, ip, w, iw(1), info )
195 CALL chkxer( 'DSYTRI2', infot, nout, lerr, ok )
196*
197* DSYTRI2X
198*
199 srnamt = 'DSYTRI2X'
200 infot = 1
201 CALL dsytri2x( '/', 0, a, 1, ip, w, 1, info )
202 CALL chkxer( 'DSYTRI2X', infot, nout, lerr, ok )
203 infot = 2
204 CALL dsytri2x( 'U', -1, a, 1, ip, w, 1, info )
205 CALL chkxer( 'DSYTRI2X', infot, nout, lerr, ok )
206 infot = 4
207 CALL dsytri2x( 'U', 2, a, 1, ip, w, 1, info )
208 CALL chkxer( 'DSYTRI2X', infot, nout, lerr, ok )
209*
210* DSYTRS
211*
212 srnamt = 'DSYTRS'
213 infot = 1
214 CALL dsytrs( '/', 0, 0, a, 1, ip, b, 1, info )
215 CALL chkxer( 'DSYTRS', infot, nout, lerr, ok )
216 infot = 2
217 CALL dsytrs( 'U', -1, 0, a, 1, ip, b, 1, info )
218 CALL chkxer( 'DSYTRS', infot, nout, lerr, ok )
219 infot = 3
220 CALL dsytrs( 'U', 0, -1, a, 1, ip, b, 1, info )
221 CALL chkxer( 'DSYTRS', infot, nout, lerr, ok )
222 infot = 5
223 CALL dsytrs( 'U', 2, 1, a, 1, ip, b, 2, info )
224 CALL chkxer( 'DSYTRS', infot, nout, lerr, ok )
225 infot = 8
226 CALL dsytrs( 'U', 2, 1, a, 2, ip, b, 1, info )
227 CALL chkxer( 'DSYTRS', infot, nout, lerr, ok )
228*
229* DSYRFS
230*
231 srnamt = 'DSYRFS'
232 infot = 1
233 CALL dsyrfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
234 $ iw, info )
235 CALL chkxer( 'DSYRFS', infot, nout, lerr, ok )
236 infot = 2
237 CALL dsyrfs( 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
238 $ w, iw, info )
239 CALL chkxer( 'DSYRFS', infot, nout, lerr, ok )
240 infot = 3
241 CALL dsyrfs( 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
242 $ w, iw, info )
243 CALL chkxer( 'DSYRFS', infot, nout, lerr, ok )
244 infot = 5
245 CALL dsyrfs( 'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
246 $ iw, info )
247 CALL chkxer( 'DSYRFS', infot, nout, lerr, ok )
248 infot = 7
249 CALL dsyrfs( 'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
250 $ iw, info )
251 CALL chkxer( 'DSYRFS', infot, nout, lerr, ok )
252 infot = 10
253 CALL dsyrfs( 'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
254 $ iw, info )
255 CALL chkxer( 'DSYRFS', infot, nout, lerr, ok )
256 infot = 12
257 CALL dsyrfs( 'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
258 $ iw, info )
259 CALL chkxer( 'DSYRFS', infot, nout, lerr, ok )
260*
261* DSYCON
262*
263 srnamt = 'DSYCON'
264 infot = 1
265 CALL dsycon( '/', 0, a, 1, ip, anrm, rcond, w, iw, info )
266 CALL chkxer( 'DSYCON', infot, nout, lerr, ok )
267 infot = 2
268 CALL dsycon( 'U', -1, a, 1, ip, anrm, rcond, w, iw, info )
269 CALL chkxer( 'DSYCON', infot, nout, lerr, ok )
270 infot = 4
271 CALL dsycon( 'U', 2, a, 1, ip, anrm, rcond, w, iw, info )
272 CALL chkxer( 'DSYCON', infot, nout, lerr, ok )
273 infot = 6
274 CALL dsycon( 'U', 1, a, 1, ip, -1.0d0, rcond, w, iw, info )
275 CALL chkxer( 'DSYCON', infot, nout, lerr, ok )
276*
277 ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
278*
279* Test error exits of the routines that use factorization
280* of a symmetric indefinite matrix with rook
281* (bounded Bunch-Kaufman) pivoting.
282*
283* DSYTRF_ROOK
284*
285 srnamt = 'DSYTRF_ROOK'
286 infot = 1
287 CALL dsytrf_rook( '/', 0, a, 1, ip, w, 1, info )
288 CALL chkxer( 'DSYTRF_ROOK', infot, nout, lerr, ok )
289 infot = 2
290 CALL dsytrf_rook( 'U', -1, a, 1, ip, w, 1, info )
291 CALL chkxer( 'DSYTRF_ROOK', infot, nout, lerr, ok )
292 infot = 4
293 CALL dsytrf_rook( 'U', 2, a, 1, ip, w, 4, info )
294 CALL chkxer( 'DSYTRF_ROOK', infot, nout, lerr, ok )
295 infot = 7
296 CALL dsytrf_rook( 'U', 0, a, 1, ip, w, 0, info )
297 CALL chkxer( 'DSYTRF_ROOK', infot, nout, lerr, ok )
298 infot = 7
299 CALL dsytrf_rook( 'U', 0, a, 1, ip, w, -2, info )
300 CALL chkxer( 'DSYTRF_ROOK', infot, nout, lerr, ok )
301*
302* DSYTF2_ROOK
303*
304 srnamt = 'DSYTF2_ROOK'
305 infot = 1
306 CALL dsytf2_rook( '/', 0, a, 1, ip, info )
307 CALL chkxer( 'DSYTF2_ROOK', infot, nout, lerr, ok )
308 infot = 2
309 CALL dsytf2_rook( 'U', -1, a, 1, ip, info )
310 CALL chkxer( 'DSYTF2_ROOK', infot, nout, lerr, ok )
311 infot = 4
312 CALL dsytf2_rook( 'U', 2, a, 1, ip, info )
313 CALL chkxer( 'DSYTF2_ROOK', infot, nout, lerr, ok )
314*
315* DSYTRI_ROOK
316*
317 srnamt = 'DSYTRI_ROOK'
318 infot = 1
319 CALL dsytri_rook( '/', 0, a, 1, ip, w, info )
320 CALL chkxer( 'DSYTRI_ROOK', infot, nout, lerr, ok )
321 infot = 2
322 CALL dsytri_rook( 'U', -1, a, 1, ip, w, info )
323 CALL chkxer( 'DSYTRI_ROOK', infot, nout, lerr, ok )
324 infot = 4
325 CALL dsytri_rook( 'U', 2, a, 1, ip, w, info )
326 CALL chkxer( 'DSYTRI_ROOK', infot, nout, lerr, ok )
327*
328* DSYTRS_ROOK
329*
330 srnamt = 'DSYTRS_ROOK'
331 infot = 1
332 CALL dsytrs_rook( '/', 0, 0, a, 1, ip, b, 1, info )
333 CALL chkxer( 'DSYTRS_ROOK', infot, nout, lerr, ok )
334 infot = 2
335 CALL dsytrs_rook( 'U', -1, 0, a, 1, ip, b, 1, info )
336 CALL chkxer( 'DSYTRS_ROOK', infot, nout, lerr, ok )
337 infot = 3
338 CALL dsytrs_rook( 'U', 0, -1, a, 1, ip, b, 1, info )
339 CALL chkxer( 'DSYTRS_ROOK', infot, nout, lerr, ok )
340 infot = 5
341 CALL dsytrs_rook( 'U', 2, 1, a, 1, ip, b, 2, info )
342 CALL chkxer( 'DSYTRS_ROOK', infot, nout, lerr, ok )
343 infot = 8
344 CALL dsytrs_rook( 'U', 2, 1, a, 2, ip, b, 1, info )
345 CALL chkxer( 'DSYTRS_ROOK', infot, nout, lerr, ok )
346*
347* DSYCON_ROOK
348*
349 srnamt = 'DSYCON_ROOK'
350 infot = 1
351 CALL dsycon_rook( '/', 0, a, 1, ip, anrm, rcond, w, iw, info )
352 CALL chkxer( 'DSYCON_ROOK', infot, nout, lerr, ok )
353 infot = 2
354 CALL dsycon_rook( 'U', -1, a, 1, ip, anrm, rcond, w, iw, info )
355 CALL chkxer( 'DSYCON_ROOK', infot, nout, lerr, ok )
356 infot = 4
357 CALL dsycon_rook( 'U', 2, a, 1, ip, anrm, rcond, w, iw, info )
358 CALL chkxer( 'DSYCON_ROOK', infot, nout, lerr, ok )
359 infot = 6
360 CALL dsycon_rook( 'U', 1, a, 1, ip, -1.0d0, rcond, w, iw, info)
361 CALL chkxer( 'DSYCON_ROOK', infot, nout, lerr, ok )
362*
363 ELSE IF( lsamen( 2, c2, 'SK' ) ) THEN
364*
365* Test error exits of the routines that use factorization
366* of a symmetric indefinite matrix with rook
367* (bounded Bunch-Kaufman) pivoting with the new storage
368* format for factors L ( or U) and D.
369*
370* L (or U) is stored in A, diagonal of D is stored on the
371* diagonal of A, subdiagonal of D is stored in a separate array E.
372*
373* DSYTRF_RK
374*
375 srnamt = 'DSYTRF_RK'
376 infot = 1
377 CALL dsytrf_rk( '/', 0, a, 1, e, ip, w, 1, info )
378 CALL chkxer( 'DSYTRF_RK', infot, nout, lerr, ok )
379 infot = 2
380 CALL dsytrf_rk( 'U', -1, a, 1, e, ip, w, 1, info )
381 CALL chkxer( 'DSYTRF_RK', infot, nout, lerr, ok )
382 infot = 4
383 CALL dsytrf_rk( 'U', 2, a, 1, e, ip, w, 1, info )
384 CALL chkxer( 'DSYTRF_RK', infot, nout, lerr, ok )
385 infot = 8
386 CALL dsytrf_rk( 'U', 0, a, 1, e, ip, w, 0, info )
387 CALL chkxer( 'DSYTRF_RK', infot, nout, lerr, ok )
388 infot = 8
389 CALL dsytrf_rk( 'U', 0, a, 1, e, ip, w, -2, info )
390 CALL chkxer( 'DSYTRF_RK', infot, nout, lerr, ok )
391*
392* DSYTF2_RK
393*
394 srnamt = 'DSYTF2_RK'
395 infot = 1
396 CALL dsytf2_rk( '/', 0, a, 1, e, ip, info )
397 CALL chkxer( 'DSYTF2_RK', infot, nout, lerr, ok )
398 infot = 2
399 CALL dsytf2_rk( 'U', -1, a, 1, e, ip, info )
400 CALL chkxer( 'DSYTF2_RK', infot, nout, lerr, ok )
401 infot = 4
402 CALL dsytf2_rk( 'U', 2, a, 1, e, ip, info )
403 CALL chkxer( 'DSYTF2_RK', infot, nout, lerr, ok )
404*
405* DSYTRI_3
406*
407 srnamt = 'DSYTRI_3'
408 infot = 1
409 CALL dsytri_3( '/', 0, a, 1, e, ip, w, 1, info )
410 CALL chkxer( 'DSYTRI_3', infot, nout, lerr, ok )
411 infot = 2
412 CALL dsytri_3( 'U', -1, a, 1, e, ip, w, 1, info )
413 CALL chkxer( 'DSYTRI_3', infot, nout, lerr, ok )
414 infot = 4
415 CALL dsytri_3( 'U', 2, a, 1, e, ip, w, 1, info )
416 CALL chkxer( 'DSYTRI_3', infot, nout, lerr, ok )
417 infot = 8
418 CALL dsytri_3( 'U', 0, a, 1, e, ip, w, 0, info )
419 CALL chkxer( 'DSYTRI_3', infot, nout, lerr, ok )
420 infot = 8
421 CALL dsytri_3( 'U', 0, a, 1, e, ip, w, -2, info )
422 CALL chkxer( 'DSYTRI_3', infot, nout, lerr, ok )
423*
424* DSYTRI_3X
425*
426 srnamt = 'DSYTRI_3X'
427 infot = 1
428 CALL dsytri_3x( '/', 0, a, 1, e, ip, w, 1, info )
429 CALL chkxer( 'DSYTRI_3X', infot, nout, lerr, ok )
430 infot = 2
431 CALL dsytri_3x( 'U', -1, a, 1, e, ip, w, 1, info )
432 CALL chkxer( 'DSYTRI_3X', infot, nout, lerr, ok )
433 infot = 4
434 CALL dsytri_3x( 'U', 2, a, 1, e, ip, w, 1, info )
435 CALL chkxer( 'DSYTRI_3X', infot, nout, lerr, ok )
436*
437* DSYTRS_3
438*
439 srnamt = 'DSYTRS_3'
440 infot = 1
441 CALL dsytrs_3( '/', 0, 0, a, 1, e, ip, b, 1, info )
442 CALL chkxer( 'DSYTRS_3', infot, nout, lerr, ok )
443 infot = 2
444 CALL dsytrs_3( 'U', -1, 0, a, 1, e, ip, b, 1, info )
445 CALL chkxer( 'DSYTRS_3', infot, nout, lerr, ok )
446 infot = 3
447 CALL dsytrs_3( 'U', 0, -1, a, 1, e, ip, b, 1, info )
448 CALL chkxer( 'DSYTRS_3', infot, nout, lerr, ok )
449 infot = 5
450 CALL dsytrs_3( 'U', 2, 1, a, 1, e, ip, b, 2, info )
451 CALL chkxer( 'DSYTRS_3', infot, nout, lerr, ok )
452 infot = 9
453 CALL dsytrs_3( 'U', 2, 1, a, 2, e, ip, b, 1, info )
454 CALL chkxer( 'DSYTRS_3', infot, nout, lerr, ok )
455*
456* DSYCON_3
457*
458 srnamt = 'DSYCON_3'
459 infot = 1
460 CALL dsycon_3( '/', 0, a, 1, e, ip, anrm, rcond, w, iw,
461 $ info )
462 CALL chkxer( 'DSYCON_3', infot, nout, lerr, ok )
463 infot = 2
464 CALL dsycon_3( 'U', -1, a, 1, e, ip, anrm, rcond, w, iw,
465 $ info )
466 CALL chkxer( 'DSYCON_3', infot, nout, lerr, ok )
467 infot = 4
468 CALL dsycon_3( 'U', 2, a, 1, e, ip, anrm, rcond, w, iw,
469 $ info )
470 CALL chkxer( 'DSYCON_3', infot, nout, lerr, ok )
471 infot = 7
472 CALL dsycon_3( 'U', 1, a, 1, e, ip, -1.0d0, rcond, w, iw,
473 $ info)
474 CALL chkxer( 'DSYCON_3', infot, nout, lerr, ok )
475*
476 ELSE IF( lsamen( 2, c2, 'SA' ) ) THEN
477*
478* Test error exits of the routines that use factorization
479* of a symmetric indefinite matrix with Aasen's algorithm.
480*
481* DSYTRF_AA
482*
483 srnamt = 'DSYTRF_AA'
484 infot = 1
485 CALL dsytrf_aa( '/', 0, a, 1, ip, w, 1, info )
486 CALL chkxer( 'DSYTRF_AA', infot, nout, lerr, ok )
487 infot = 2
488 CALL dsytrf_aa( 'U', -1, a, 1, ip, w, 1, info )
489 CALL chkxer( 'DSYTRF_AA', infot, nout, lerr, ok )
490 infot = 4
491 CALL dsytrf_aa( 'U', 2, a, 1, ip, w, 4, info )
492 CALL chkxer( 'DSYTRF_AA', infot, nout, lerr, ok )
493 infot = 7
494 CALL dsytrf_aa( 'U', 0, a, 1, ip, w, 0, info )
495 CALL chkxer( 'DSYTRF_AA', infot, nout, lerr, ok )
496 infot = 7
497 CALL dsytrf_aa( 'U', 0, a, 1, ip, w, -2, info )
498 CALL chkxer( 'DSYTRF_AA', infot, nout, lerr, ok )
499*
500* DSYTRS_AA
501*
502 srnamt = 'DSYTRS_AA'
503 infot = 1
504 CALL dsytrs_aa( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
505 CALL chkxer( 'DSYTRS_AA', infot, nout, lerr, ok )
506 infot = 2
507 CALL dsytrs_aa( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
508 CALL chkxer( 'DSYTRS_AA', infot, nout, lerr, ok )
509 infot = 3
510 CALL dsytrs_aa( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
511 CALL chkxer( 'DSYTRS_AA', infot, nout, lerr, ok )
512 infot = 5
513 CALL dsytrs_aa( 'U', 2, 1, a, 1, ip, b, 2, w, 1, info )
514 CALL chkxer( 'DSYTRS_AA', infot, nout, lerr, ok )
515 infot = 8
516 CALL dsytrs_aa( 'U', 2, 1, a, 2, ip, b, 1, w, 1, info )
517 CALL chkxer( 'DSYTRS_AA', infot, nout, lerr, ok )
518 infot = 10
519 CALL dsytrs_aa( 'U', 0, 1, a, 2, ip, b, 1, w, 0, info )
520 CALL chkxer( 'DSYTRS_AA', infot, nout, lerr, ok )
521 infot = 10
522 CALL dsytrs_aa( 'U', 0, 1, a, 2, ip, b, 1, w, -2, info )
523 CALL chkxer( 'DSYTRS_AA', infot, nout, lerr, ok )
524*
525 ELSE IF( lsamen( 2, c2, 'S2' ) ) THEN
526*
527* Test error exits of the routines that use factorization
528* of a symmetric indefinite matrix with Aasen's algorithm.
529*
530* DSYTRF_AA_2STAGE
531*
532 srnamt = 'DSYTRF_AA_2STAGE'
533 infot = 1
534 CALL dsytrf_aa_2stage( '/', 0, a, 1, a, 1, ip, ip, w, 1,
535 $ info )
536 CALL chkxer( 'DSYTRF_AA_2STAGE', infot, nout, lerr, ok )
537 infot = 2
538 CALL dsytrf_aa_2stage( 'U', -1, a, 1, a, 1, ip, ip, w, 1,
539 $ info )
540 CALL chkxer( 'DSYTRF_AA_2STAGE', infot, nout, lerr, ok )
541 infot = 4
542 CALL dsytrf_aa_2stage( 'U', 2, a, 1, a, 2, ip, ip, w, 1,
543 $ info )
544 CALL chkxer( 'DSYTRF_AA_2STAGE', infot, nout, lerr, ok )
545 infot = 6
546 CALL dsytrf_aa_2stage( 'U', 2, a, 2, a, 1, ip, ip, w, 1,
547 $ info )
548 CALL chkxer( 'DSYTRF_AA_2STAGE', infot, nout, lerr, ok )
549 infot = 10
550 CALL dsytrf_aa_2stage( 'U', 2, a, 2, a, 8, ip, ip, w, 0,
551 $ info )
552 CALL chkxer( 'DSYTRF_AA_2STAGE', infot, nout, lerr, ok )
553*
554* DSYTRS_AA_2STAGE
555*
556 srnamt = 'DSYTRS_AA_2STAGE'
557 infot = 1
558 CALL dsytrs_aa_2stage( '/', 0, 0, a, 1, a, 1, ip, ip,
559 $ b, 1, info )
560 CALL chkxer( 'DSYTRS_AA_2STAGE', infot, nout, lerr, ok )
561 infot = 2
562 CALL dsytrs_aa_2stage( 'U', -1, 0, a, 1, a, 1, ip, ip,
563 $ b, 1, info )
564 CALL chkxer( 'DSYTRS_AA_2STAGE', infot, nout, lerr, ok )
565 infot = 3
566 CALL dsytrs_aa_2stage( 'U', 0, -1, a, 1, a, 1, ip, ip,
567 $ b, 1, info )
568 CALL chkxer( 'DSYTRS_AA_2STAGE', infot, nout, lerr, ok )
569 infot = 5
570 CALL dsytrs_aa_2stage( 'U', 2, 1, a, 1, a, 1, ip, ip,
571 $ b, 1, info )
572 CALL chkxer( 'DSYTRS_AA_2STAGE', infot, nout, lerr, ok )
573 infot = 7
574 CALL dsytrs_aa_2stage( 'U', 2, 1, a, 2, a, 1, ip, ip,
575 $ b, 1, info )
576 CALL chkxer( 'DSYTRS_AA_2STAGE', infot, nout, lerr, ok )
577 infot = 11
578 CALL dsytrs_aa_2stage( 'U', 2, 1, a, 2, a, 8, ip, ip,
579 $ b, 1, info )
580 CALL chkxer( 'DSYTRS_AA_STAGE', infot, nout, lerr, ok )
581 ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
582*
583* Test error exits of the routines that use factorization
584* of a symmetric indefinite packed matrix with partial
585* (Bunch-Kaufman) pivoting.
586*
587* DSPTRF
588*
589 srnamt = 'DSPTRF'
590 infot = 1
591 CALL dsptrf( '/', 0, a, ip, info )
592 CALL chkxer( 'DSPTRF', infot, nout, lerr, ok )
593 infot = 2
594 CALL dsptrf( 'U', -1, a, ip, info )
595 CALL chkxer( 'DSPTRF', infot, nout, lerr, ok )
596*
597* DSPTRI
598*
599 srnamt = 'DSPTRI'
600 infot = 1
601 CALL dsptri( '/', 0, a, ip, w, info )
602 CALL chkxer( 'DSPTRI', infot, nout, lerr, ok )
603 infot = 2
604 CALL dsptri( 'U', -1, a, ip, w, info )
605 CALL chkxer( 'DSPTRI', infot, nout, lerr, ok )
606*
607* DSPTRS
608*
609 srnamt = 'DSPTRS'
610 infot = 1
611 CALL dsptrs( '/', 0, 0, a, ip, b, 1, info )
612 CALL chkxer( 'DSPTRS', infot, nout, lerr, ok )
613 infot = 2
614 CALL dsptrs( 'U', -1, 0, a, ip, b, 1, info )
615 CALL chkxer( 'DSPTRS', infot, nout, lerr, ok )
616 infot = 3
617 CALL dsptrs( 'U', 0, -1, a, ip, b, 1, info )
618 CALL chkxer( 'DSPTRS', infot, nout, lerr, ok )
619 infot = 7
620 CALL dsptrs( 'U', 2, 1, a, ip, b, 1, info )
621 CALL chkxer( 'DSPTRS', infot, nout, lerr, ok )
622*
623* DSPRFS
624*
625 srnamt = 'DSPRFS'
626 infot = 1
627 CALL dsprfs( '/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
628 $ info )
629 CALL chkxer( 'DSPRFS', infot, nout, lerr, ok )
630 infot = 2
631 CALL dsprfs( 'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
632 $ info )
633 CALL chkxer( 'DSPRFS', infot, nout, lerr, ok )
634 infot = 3
635 CALL dsprfs( 'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
636 $ info )
637 CALL chkxer( 'DSPRFS', infot, nout, lerr, ok )
638 infot = 8
639 CALL dsprfs( 'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, iw,
640 $ info )
641 CALL chkxer( 'DSPRFS', infot, nout, lerr, ok )
642 infot = 10
643 CALL dsprfs( 'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, iw,
644 $ info )
645 CALL chkxer( 'DSPRFS', infot, nout, lerr, ok )
646*
647* DSPCON
648*
649 srnamt = 'DSPCON'
650 infot = 1
651 CALL dspcon( '/', 0, a, ip, anrm, rcond, w, iw, info )
652 CALL chkxer( 'DSPCON', infot, nout, lerr, ok )
653 infot = 2
654 CALL dspcon( 'U', -1, a, ip, anrm, rcond, w, iw, info )
655 CALL chkxer( 'DSPCON', infot, nout, lerr, ok )
656 infot = 5
657 CALL dspcon( 'U', 1, a, ip, -1.0d0, rcond, w, iw, info )
658 CALL chkxer( 'DSPCON', infot, nout, lerr, ok )
659 END IF
660*
661* Print a summary line.
662*
663 CALL alaesm( path, ok, nout )
664*
665 RETURN
666*
667* End of DERRSY
668*
subroutine alaesm(path, ok, nout)
ALAESM
Definition alaesm.f:63
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3224
subroutine dsycon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, iwork, info)
DSYCON_3
Definition dsycon_3.f:171
subroutine dsycon_rook(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
DSYCON_ROOK
subroutine dsycon(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
DSYCON
Definition dsycon.f:130
subroutine dsyrfs(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DSYRFS
Definition dsyrfs.f:191
subroutine dsytf2_rk(uplo, n, a, lda, e, ipiv, info)
DSYTF2_RK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-Ka...
Definition dsytf2_rk.f:241
subroutine dsytf2_rook(uplo, n, a, lda, ipiv, info)
DSYTF2_ROOK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-...
subroutine dsytf2(uplo, n, a, lda, ipiv, info)
DSYTF2 computes the factorization of a real symmetric indefinite matrix, using the diagonal pivoting ...
Definition dsytf2.f:194
subroutine dsytrf_aa_2stage(uplo, n, a, lda, tb, ltb, ipiv, ipiv2, work, lwork, info)
DSYTRF_AA_2STAGE
subroutine dsytrf_aa(uplo, n, a, lda, ipiv, work, lwork, info)
DSYTRF_AA
Definition dsytrf_aa.f:132
subroutine dsytrf_rk(uplo, n, a, lda, e, ipiv, work, lwork, info)
DSYTRF_RK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-Ka...
Definition dsytrf_rk.f:259
subroutine dsytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
DSYTRF_ROOK
subroutine dsytrf(uplo, n, a, lda, ipiv, work, lwork, info)
DSYTRF
Definition dsytrf.f:182
subroutine dsytri2(uplo, n, a, lda, ipiv, work, lwork, info)
DSYTRI2
Definition dsytri2.f:127
subroutine dsytri2x(uplo, n, a, lda, ipiv, work, nb, info)
DSYTRI2X
Definition dsytri2x.f:120
subroutine dsytri_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
DSYTRI_3
Definition dsytri_3.f:170
subroutine dsytri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
DSYTRI_3X
Definition dsytri_3x.f:159
subroutine dsytri_rook(uplo, n, a, lda, ipiv, work, info)
DSYTRI_ROOK
subroutine dsytri(uplo, n, a, lda, ipiv, work, info)
DSYTRI
Definition dsytri.f:114
subroutine dsytrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
DSYTRS_3
Definition dsytrs_3.f:165
subroutine dsytrs_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, info)
DSYTRS_AA_2STAGE
subroutine dsytrs_aa(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
DSYTRS_AA
Definition dsytrs_aa.f:131
subroutine dsytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
DSYTRS_ROOK
subroutine dsytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
DSYTRS
Definition dsytrs.f:120
subroutine dspcon(uplo, n, ap, ipiv, anorm, rcond, work, iwork, info)
DSPCON
Definition dspcon.f:125
subroutine dsprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DSPRFS
Definition dsprfs.f:179
subroutine dsptrf(uplo, n, ap, ipiv, info)
DSPTRF
Definition dsptrf.f:159
subroutine dsptri(uplo, n, ap, ipiv, work, info)
DSPTRI
Definition dsptri.f:109
subroutine dsptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
DSPTRS
Definition dsptrs.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: