LAPACK  3.10.1
LAPACK: Linear Algebra PACKage
derrtr.f
Go to the documentation of this file.
1 *> \brief \b DERRTR
2 *
3 * =========== DOCUMENTATION ===========
4 *
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
7 *
8 * Definition:
9 * ===========
10 *
11 * SUBROUTINE DERRTR( PATH, NUNIT )
12 *
13 * .. Scalar Arguments ..
14 * CHARACTER*3 PATH
15 * INTEGER NUNIT
16 * ..
17 *
18 *
19 *> \par Purpose:
20 * =============
21 *>
22 *> \verbatim
23 *>
24 *> DERRTR tests the error exits for the DOUBLE PRECISION triangular
25 *> routines.
26 *> \endverbatim
27 *
28 * Arguments:
29 * ==========
30 *
31 *> \param[in] PATH
32 *> \verbatim
33 *> PATH is CHARACTER*3
34 *> The LAPACK path name for the routines to be tested.
35 *> \endverbatim
36 *>
37 *> \param[in] NUNIT
38 *> \verbatim
39 *> NUNIT is INTEGER
40 *> The unit number for output.
41 *> \endverbatim
42 *
43 * Authors:
44 * ========
45 *
46 *> \author Univ. of Tennessee
47 *> \author Univ. of California Berkeley
48 *> \author Univ. of Colorado Denver
49 *> \author NAG Ltd.
50 *
51 *> \ingroup double_lin
52 *
53 * =====================================================================
54  SUBROUTINE derrtr( PATH, NUNIT )
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 = 2 )
70 * ..
71 * .. Local Scalars ..
72  CHARACTER*2 C2
73  INTEGER INFO
74  DOUBLE PRECISION RCOND, SCALE
75 * ..
76 * .. Local Arrays ..
77  INTEGER IW( NMAX )
78  DOUBLE PRECISION A( NMAX, NMAX ), B( NMAX ), R1( NMAX ),
79  $ R2( NMAX ), W( NMAX ), X( NMAX )
80 * ..
81 * .. External Functions ..
82  LOGICAL LSAMEN
83  EXTERNAL lsamen
84 * ..
85 * .. External Subroutines ..
86  EXTERNAL alaesm, chkxer, dlatbs, dlatps, dlatrs, dtbcon,
89 * ..
90 * .. Scalars in Common ..
91  LOGICAL LERR, OK
92  CHARACTER*32 SRNAMT
93  INTEGER INFOT, NOUT
94 * ..
95 * .. Common blocks ..
96  COMMON / infoc / infot, nout, ok, lerr
97  COMMON / srnamc / srnamt
98 * ..
99 * .. Executable Statements ..
100 *
101  nout = nunit
102  WRITE( nout, fmt = * )
103  c2 = path( 2: 3 )
104  a( 1, 1 ) = 1.d0
105  a( 1, 2 ) = 2.d0
106  a( 2, 2 ) = 3.d0
107  a( 2, 1 ) = 4.d0
108  ok = .true.
109 *
110  IF( lsamen( 2, c2, 'TR' ) ) THEN
111 *
112 * Test error exits for the general triangular routines.
113 *
114 * DTRTRI
115 *
116  srnamt = 'DTRTRI'
117  infot = 1
118  CALL dtrtri( '/', 'N', 0, a, 1, info )
119  CALL chkxer( 'DTRTRI', infot, nout, lerr, ok )
120  infot = 2
121  CALL dtrtri( 'U', '/', 0, a, 1, info )
122  CALL chkxer( 'DTRTRI', infot, nout, lerr, ok )
123  infot = 3
124  CALL dtrtri( 'U', 'N', -1, a, 1, info )
125  CALL chkxer( 'DTRTRI', infot, nout, lerr, ok )
126  infot = 5
127  CALL dtrtri( 'U', 'N', 2, a, 1, info )
128  CALL chkxer( 'DTRTRI', infot, nout, lerr, ok )
129 *
130 * DTRTI2
131 *
132  srnamt = 'DTRTI2'
133  infot = 1
134  CALL dtrti2( '/', 'N', 0, a, 1, info )
135  CALL chkxer( 'DTRTI2', infot, nout, lerr, ok )
136  infot = 2
137  CALL dtrti2( 'U', '/', 0, a, 1, info )
138  CALL chkxer( 'DTRTI2', infot, nout, lerr, ok )
139  infot = 3
140  CALL dtrti2( 'U', 'N', -1, a, 1, info )
141  CALL chkxer( 'DTRTI2', infot, nout, lerr, ok )
142  infot = 5
143  CALL dtrti2( 'U', 'N', 2, a, 1, info )
144  CALL chkxer( 'DTRTI2', infot, nout, lerr, ok )
145 *
146 * DTRTRS
147 *
148  srnamt = 'DTRTRS'
149  infot = 1
150  CALL dtrtrs( '/', 'N', 'N', 0, 0, a, 1, x, 1, info )
151  CALL chkxer( 'DTRTRS', infot, nout, lerr, ok )
152  infot = 2
153  CALL dtrtrs( 'U', '/', 'N', 0, 0, a, 1, x, 1, info )
154  CALL chkxer( 'DTRTRS', infot, nout, lerr, ok )
155  infot = 3
156  CALL dtrtrs( 'U', 'N', '/', 0, 0, a, 1, x, 1, info )
157  CALL chkxer( 'DTRTRS', infot, nout, lerr, ok )
158  infot = 4
159  CALL dtrtrs( 'U', 'N', 'N', -1, 0, a, 1, x, 1, info )
160  CALL chkxer( 'DTRTRS', infot, nout, lerr, ok )
161  infot = 5
162  CALL dtrtrs( 'U', 'N', 'N', 0, -1, a, 1, x, 1, info )
163  CALL chkxer( 'DTRTRS', infot, nout, lerr, ok )
164  infot = 7
165  CALL dtrtrs( 'U', 'N', 'N', 2, 1, a, 1, x, 2, info )
166  CALL chkxer( 'DTRTRS', infot, nout, lerr, ok )
167  infot = 9
168  CALL dtrtrs( 'U', 'N', 'N', 2, 1, a, 2, x, 1, info )
169  CALL chkxer( 'DTRTRS', infot, nout, lerr, ok )
170 *
171 * DTRRFS
172 *
173  srnamt = 'DTRRFS'
174  infot = 1
175  CALL dtrrfs( '/', 'N', 'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
176  $ iw, info )
177  CALL chkxer( 'DTRRFS', infot, nout, lerr, ok )
178  infot = 2
179  CALL dtrrfs( 'U', '/', 'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
180  $ iw, info )
181  CALL chkxer( 'DTRRFS', infot, nout, lerr, ok )
182  infot = 3
183  CALL dtrrfs( 'U', 'N', '/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
184  $ iw, info )
185  CALL chkxer( 'DTRRFS', infot, nout, lerr, ok )
186  infot = 4
187  CALL dtrrfs( 'U', 'N', 'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
188  $ iw, info )
189  CALL chkxer( 'DTRRFS', infot, nout, lerr, ok )
190  infot = 5
191  CALL dtrrfs( 'U', 'N', 'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
192  $ iw, info )
193  CALL chkxer( 'DTRRFS', infot, nout, lerr, ok )
194  infot = 7
195  CALL dtrrfs( 'U', 'N', 'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
196  $ iw, info )
197  CALL chkxer( 'DTRRFS', infot, nout, lerr, ok )
198  infot = 9
199  CALL dtrrfs( 'U', 'N', 'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
200  $ iw, info )
201  CALL chkxer( 'DTRRFS', infot, nout, lerr, ok )
202  infot = 11
203  CALL dtrrfs( 'U', 'N', 'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
204  $ iw, info )
205  CALL chkxer( 'DTRRFS', infot, nout, lerr, ok )
206 *
207 * DTRCON
208 *
209  srnamt = 'DTRCON'
210  infot = 1
211  CALL dtrcon( '/', 'U', 'N', 0, a, 1, rcond, w, iw, info )
212  CALL chkxer( 'DTRCON', infot, nout, lerr, ok )
213  infot = 2
214  CALL dtrcon( '1', '/', 'N', 0, a, 1, rcond, w, iw, info )
215  CALL chkxer( 'DTRCON', infot, nout, lerr, ok )
216  infot = 3
217  CALL dtrcon( '1', 'U', '/', 0, a, 1, rcond, w, iw, info )
218  CALL chkxer( 'DTRCON', infot, nout, lerr, ok )
219  infot = 4
220  CALL dtrcon( '1', 'U', 'N', -1, a, 1, rcond, w, iw, info )
221  CALL chkxer( 'DTRCON', infot, nout, lerr, ok )
222  infot = 6
223  CALL dtrcon( '1', 'U', 'N', 2, a, 1, rcond, w, iw, info )
224  CALL chkxer( 'DTRCON', infot, nout, lerr, ok )
225 *
226 * DLATRS
227 *
228  srnamt = 'DLATRS'
229  infot = 1
230  CALL dlatrs( '/', 'N', 'N', 'N', 0, a, 1, x, scale, w, info )
231  CALL chkxer( 'DLATRS', infot, nout, lerr, ok )
232  infot = 2
233  CALL dlatrs( 'U', '/', 'N', 'N', 0, a, 1, x, scale, w, info )
234  CALL chkxer( 'DLATRS', infot, nout, lerr, ok )
235  infot = 3
236  CALL dlatrs( 'U', 'N', '/', 'N', 0, a, 1, x, scale, w, info )
237  CALL chkxer( 'DLATRS', infot, nout, lerr, ok )
238  infot = 4
239  CALL dlatrs( 'U', 'N', 'N', '/', 0, a, 1, x, scale, w, info )
240  CALL chkxer( 'DLATRS', infot, nout, lerr, ok )
241  infot = 5
242  CALL dlatrs( 'U', 'N', 'N', 'N', -1, a, 1, x, scale, w, info )
243  CALL chkxer( 'DLATRS', infot, nout, lerr, ok )
244  infot = 7
245  CALL dlatrs( 'U', 'N', 'N', 'N', 2, a, 1, x, scale, w, info )
246  CALL chkxer( 'DLATRS', infot, nout, lerr, ok )
247 *
248  ELSE IF( lsamen( 2, c2, 'TP' ) ) THEN
249 *
250 * Test error exits for the packed triangular routines.
251 *
252 * DTPTRI
253 *
254  srnamt = 'DTPTRI'
255  infot = 1
256  CALL dtptri( '/', 'N', 0, a, info )
257  CALL chkxer( 'DTPTRI', infot, nout, lerr, ok )
258  infot = 2
259  CALL dtptri( 'U', '/', 0, a, info )
260  CALL chkxer( 'DTPTRI', infot, nout, lerr, ok )
261  infot = 3
262  CALL dtptri( 'U', 'N', -1, a, info )
263  CALL chkxer( 'DTPTRI', infot, nout, lerr, ok )
264 *
265 * DTPTRS
266 *
267  srnamt = 'DTPTRS'
268  infot = 1
269  CALL dtptrs( '/', 'N', 'N', 0, 0, a, x, 1, info )
270  CALL chkxer( 'DTPTRS', infot, nout, lerr, ok )
271  infot = 2
272  CALL dtptrs( 'U', '/', 'N', 0, 0, a, x, 1, info )
273  CALL chkxer( 'DTPTRS', infot, nout, lerr, ok )
274  infot = 3
275  CALL dtptrs( 'U', 'N', '/', 0, 0, a, x, 1, info )
276  CALL chkxer( 'DTPTRS', infot, nout, lerr, ok )
277  infot = 4
278  CALL dtptrs( 'U', 'N', 'N', -1, 0, a, x, 1, info )
279  CALL chkxer( 'DTPTRS', infot, nout, lerr, ok )
280  infot = 5
281  CALL dtptrs( 'U', 'N', 'N', 0, -1, a, x, 1, info )
282  CALL chkxer( 'DTPTRS', infot, nout, lerr, ok )
283  infot = 8
284  CALL dtptrs( 'U', 'N', 'N', 2, 1, a, x, 1, info )
285  CALL chkxer( 'DTPTRS', infot, nout, lerr, ok )
286 *
287 * DTPRFS
288 *
289  srnamt = 'DTPRFS'
290  infot = 1
291  CALL dtprfs( '/', 'N', 'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
292  $ info )
293  CALL chkxer( 'DTPRFS', infot, nout, lerr, ok )
294  infot = 2
295  CALL dtprfs( 'U', '/', 'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
296  $ info )
297  CALL chkxer( 'DTPRFS', infot, nout, lerr, ok )
298  infot = 3
299  CALL dtprfs( 'U', 'N', '/', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
300  $ info )
301  CALL chkxer( 'DTPRFS', infot, nout, lerr, ok )
302  infot = 4
303  CALL dtprfs( 'U', 'N', 'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
304  $ iw, info )
305  CALL chkxer( 'DTPRFS', infot, nout, lerr, ok )
306  infot = 5
307  CALL dtprfs( 'U', 'N', 'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
308  $ iw, info )
309  CALL chkxer( 'DTPRFS', infot, nout, lerr, ok )
310  infot = 8
311  CALL dtprfs( 'U', 'N', 'N', 2, 1, a, b, 1, x, 2, r1, r2, w, iw,
312  $ info )
313  CALL chkxer( 'DTPRFS', infot, nout, lerr, ok )
314  infot = 10
315  CALL dtprfs( 'U', 'N', 'N', 2, 1, a, b, 2, x, 1, r1, r2, w, iw,
316  $ info )
317  CALL chkxer( 'DTPRFS', infot, nout, lerr, ok )
318 *
319 * DTPCON
320 *
321  srnamt = 'DTPCON'
322  infot = 1
323  CALL dtpcon( '/', 'U', 'N', 0, a, rcond, w, iw, info )
324  CALL chkxer( 'DTPCON', infot, nout, lerr, ok )
325  infot = 2
326  CALL dtpcon( '1', '/', 'N', 0, a, rcond, w, iw, info )
327  CALL chkxer( 'DTPCON', infot, nout, lerr, ok )
328  infot = 3
329  CALL dtpcon( '1', 'U', '/', 0, a, rcond, w, iw, info )
330  CALL chkxer( 'DTPCON', infot, nout, lerr, ok )
331  infot = 4
332  CALL dtpcon( '1', 'U', 'N', -1, a, rcond, w, iw, info )
333  CALL chkxer( 'DTPCON', infot, nout, lerr, ok )
334 *
335 * DLATPS
336 *
337  srnamt = 'DLATPS'
338  infot = 1
339  CALL dlatps( '/', 'N', 'N', 'N', 0, a, x, scale, w, info )
340  CALL chkxer( 'DLATPS', infot, nout, lerr, ok )
341  infot = 2
342  CALL dlatps( 'U', '/', 'N', 'N', 0, a, x, scale, w, info )
343  CALL chkxer( 'DLATPS', infot, nout, lerr, ok )
344  infot = 3
345  CALL dlatps( 'U', 'N', '/', 'N', 0, a, x, scale, w, info )
346  CALL chkxer( 'DLATPS', infot, nout, lerr, ok )
347  infot = 4
348  CALL dlatps( 'U', 'N', 'N', '/', 0, a, x, scale, w, info )
349  CALL chkxer( 'DLATPS', infot, nout, lerr, ok )
350  infot = 5
351  CALL dlatps( 'U', 'N', 'N', 'N', -1, a, x, scale, w, info )
352  CALL chkxer( 'DLATPS', infot, nout, lerr, ok )
353 *
354  ELSE IF( lsamen( 2, c2, 'TB' ) ) THEN
355 *
356 * Test error exits for the banded triangular routines.
357 *
358 * DTBTRS
359 *
360  srnamt = 'DTBTRS'
361  infot = 1
362  CALL dtbtrs( '/', 'N', 'N', 0, 0, 0, a, 1, x, 1, info )
363  CALL chkxer( 'DTBTRS', infot, nout, lerr, ok )
364  infot = 2
365  CALL dtbtrs( 'U', '/', 'N', 0, 0, 0, a, 1, x, 1, info )
366  CALL chkxer( 'DTBTRS', infot, nout, lerr, ok )
367  infot = 3
368  CALL dtbtrs( 'U', 'N', '/', 0, 0, 0, a, 1, x, 1, info )
369  CALL chkxer( 'DTBTRS', infot, nout, lerr, ok )
370  infot = 4
371  CALL dtbtrs( 'U', 'N', 'N', -1, 0, 0, a, 1, x, 1, info )
372  CALL chkxer( 'DTBTRS', infot, nout, lerr, ok )
373  infot = 5
374  CALL dtbtrs( 'U', 'N', 'N', 0, -1, 0, a, 1, x, 1, info )
375  CALL chkxer( 'DTBTRS', infot, nout, lerr, ok )
376  infot = 6
377  CALL dtbtrs( 'U', 'N', 'N', 0, 0, -1, a, 1, x, 1, info )
378  CALL chkxer( 'DTBTRS', infot, nout, lerr, ok )
379  infot = 8
380  CALL dtbtrs( 'U', 'N', 'N', 2, 1, 1, a, 1, x, 2, info )
381  CALL chkxer( 'DTBTRS', infot, nout, lerr, ok )
382  infot = 10
383  CALL dtbtrs( 'U', 'N', 'N', 2, 0, 1, a, 1, x, 1, info )
384  CALL chkxer( 'DTBTRS', infot, nout, lerr, ok )
385 *
386 * DTBRFS
387 *
388  srnamt = 'DTBRFS'
389  infot = 1
390  CALL dtbrfs( '/', 'N', 'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
391  $ w, iw, info )
392  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
393  infot = 2
394  CALL dtbrfs( 'U', '/', 'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
395  $ w, iw, info )
396  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
397  infot = 3
398  CALL dtbrfs( 'U', 'N', '/', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
399  $ w, iw, info )
400  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
401  infot = 4
402  CALL dtbrfs( 'U', 'N', 'N', -1, 0, 0, a, 1, b, 1, x, 1, r1, r2,
403  $ w, iw, info )
404  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
405  infot = 5
406  CALL dtbrfs( 'U', 'N', 'N', 0, -1, 0, a, 1, b, 1, x, 1, r1, r2,
407  $ w, iw, info )
408  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
409  infot = 6
410  CALL dtbrfs( 'U', 'N', 'N', 0, 0, -1, a, 1, b, 1, x, 1, r1, r2,
411  $ w, iw, info )
412  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
413  infot = 8
414  CALL dtbrfs( 'U', 'N', 'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
415  $ w, iw, info )
416  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
417  infot = 10
418  CALL dtbrfs( 'U', 'N', 'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
419  $ w, iw, info )
420  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
421  infot = 12
422  CALL dtbrfs( 'U', 'N', 'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
423  $ w, iw, info )
424  CALL chkxer( 'DTBRFS', infot, nout, lerr, ok )
425 *
426 * DTBCON
427 *
428  srnamt = 'DTBCON'
429  infot = 1
430  CALL dtbcon( '/', 'U', 'N', 0, 0, a, 1, rcond, w, iw, info )
431  CALL chkxer( 'DTBCON', infot, nout, lerr, ok )
432  infot = 2
433  CALL dtbcon( '1', '/', 'N', 0, 0, a, 1, rcond, w, iw, info )
434  CALL chkxer( 'DTBCON', infot, nout, lerr, ok )
435  infot = 3
436  CALL dtbcon( '1', 'U', '/', 0, 0, a, 1, rcond, w, iw, info )
437  CALL chkxer( 'DTBCON', infot, nout, lerr, ok )
438  infot = 4
439  CALL dtbcon( '1', 'U', 'N', -1, 0, a, 1, rcond, w, iw, info )
440  CALL chkxer( 'DTBCON', infot, nout, lerr, ok )
441  infot = 5
442  CALL dtbcon( '1', 'U', 'N', 0, -1, a, 1, rcond, w, iw, info )
443  CALL chkxer( 'DTBCON', infot, nout, lerr, ok )
444  infot = 7
445  CALL dtbcon( '1', 'U', 'N', 2, 1, a, 1, rcond, w, iw, info )
446  CALL chkxer( 'DTBCON', infot, nout, lerr, ok )
447 *
448 * DLATBS
449 *
450  srnamt = 'DLATBS'
451  infot = 1
452  CALL dlatbs( '/', 'N', 'N', 'N', 0, 0, a, 1, x, scale, w,
453  $ info )
454  CALL chkxer( 'DLATBS', infot, nout, lerr, ok )
455  infot = 2
456  CALL dlatbs( 'U', '/', 'N', 'N', 0, 0, a, 1, x, scale, w,
457  $ info )
458  CALL chkxer( 'DLATBS', infot, nout, lerr, ok )
459  infot = 3
460  CALL dlatbs( 'U', 'N', '/', 'N', 0, 0, a, 1, x, scale, w,
461  $ info )
462  CALL chkxer( 'DLATBS', infot, nout, lerr, ok )
463  infot = 4
464  CALL dlatbs( 'U', 'N', 'N', '/', 0, 0, a, 1, x, scale, w,
465  $ info )
466  CALL chkxer( 'DLATBS', infot, nout, lerr, ok )
467  infot = 5
468  CALL dlatbs( 'U', 'N', 'N', 'N', -1, 0, a, 1, x, scale, w,
469  $ info )
470  CALL chkxer( 'DLATBS', infot, nout, lerr, ok )
471  infot = 6
472  CALL dlatbs( 'U', 'N', 'N', 'N', 1, -1, a, 1, x, scale, w,
473  $ info )
474  CALL chkxer( 'DLATBS', infot, nout, lerr, ok )
475  infot = 8
476  CALL dlatbs( 'U', 'N', 'N', 'N', 2, 1, a, 1, x, scale, w,
477  $ info )
478  CALL chkxer( 'DLATBS', infot, nout, lerr, ok )
479  END IF
480 *
481 * Print a summary line.
482 *
483  CALL alaesm( path, ok, nout )
484 *
485  RETURN
486 *
487 * End of DERRTR
488 *
489  END
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine derrtr(PATH, NUNIT)
DERRTR
Definition: derrtr.f:55
subroutine dlatbs(UPLO, TRANS, DIAG, NORMIN, N, KD, AB, LDAB, X, SCALE, CNORM, INFO)
DLATBS solves a triangular banded system of equations.
Definition: dlatbs.f:242
subroutine dlatps(UPLO, TRANS, DIAG, NORMIN, N, AP, X, SCALE, CNORM, INFO)
DLATPS solves a triangular system of equations with the matrix held in packed storage.
Definition: dlatps.f:229
subroutine dlatrs(UPLO, TRANS, DIAG, NORMIN, N, A, LDA, X, SCALE, CNORM, INFO)
DLATRS solves a triangular system of equations with the scale factor set to prevent overflow.
Definition: dlatrs.f:238
subroutine dtptrs(UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, INFO)
DTPTRS
Definition: dtptrs.f:130
subroutine dtptri(UPLO, DIAG, N, AP, INFO)
DTPTRI
Definition: dtptri.f:117
subroutine dtrrfs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DTRRFS
Definition: dtrrfs.f:182
subroutine dtrti2(UPLO, DIAG, N, A, LDA, INFO)
DTRTI2 computes the inverse of a triangular matrix (unblocked algorithm).
Definition: dtrti2.f:110
subroutine dtrtrs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, INFO)
DTRTRS
Definition: dtrtrs.f:140
subroutine dtbcon(NORM, UPLO, DIAG, N, KD, AB, LDAB, RCOND, WORK, IWORK, INFO)
DTBCON
Definition: dtbcon.f:143
subroutine dtrtri(UPLO, DIAG, N, A, LDA, INFO)
DTRTRI
Definition: dtrtri.f:109
subroutine dtbtrs(UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
DTBTRS
Definition: dtbtrs.f:146
subroutine dtbrfs(UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DTBRFS
Definition: dtbrfs.f:188
subroutine dtpcon(NORM, UPLO, DIAG, N, AP, RCOND, WORK, IWORK, INFO)
DTPCON
Definition: dtpcon.f:130
subroutine dtprfs(UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DTPRFS
Definition: dtprfs.f:175
subroutine dtrcon(NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK, IWORK, INFO)
DTRCON
Definition: dtrcon.f:137