LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ derrrfp()

subroutine derrrfp ( integer  NUNIT)

DERRRFP

Purpose:
 DERRRFP tests the error exits for the DOUBLE PRECISION driver routines
 for solving linear systems of equations.

 DDRVRFP tests the DOUBLE PRECISION LAPACK RFP routines:
     DTFSM, DTFTRI, DSFRK, DTFTTP, DTFTTR, DPFTRF, DPFTRS, DTPTTF,
     DTPTTR, DTRTTF, and DTRTTP
Parameters
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
December 2016

Definition at line 54 of file derrrfp.f.

54 *
55 * -- LAPACK test routine (version 3.7.0) --
56 * -- LAPACK is a software package provided by Univ. of Tennessee, --
57 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
58 * December 2016
59 *
60 * .. Scalar Arguments ..
61  INTEGER nunit
62 * ..
63 *
64 * =====================================================================
65 *
66 * ..
67 * .. Local Scalars ..
68  INTEGER info
69  DOUBLE PRECISION alpha, beta
70 * ..
71 * .. Local Arrays ..
72  DOUBLE PRECISION a( 1, 1), b( 1, 1)
73 * ..
74 * .. External Subroutines ..
75  EXTERNAL chkxer, dtfsm, dtftri, dsfrk, dtfttp, dtfttr,
77  + dtrttp
78 * ..
79 * .. Scalars in Common ..
80  LOGICAL lerr, ok
81  CHARACTER*32 srnamt
82  INTEGER infot, nout
83 * ..
84 * .. Common blocks ..
85  COMMON / infoc / infot, nout, ok, lerr
86  COMMON / srnamc / srnamt
87 * ..
88 * .. Executable Statements ..
89 *
90  nout = nunit
91  ok = .true.
92  a( 1, 1 ) = 1.0d+0
93  b( 1, 1 ) = 1.0d+0
94  alpha = 1.0d+0
95  beta = 1.0d+0
96 *
97  srnamt = 'DPFTRF'
98  infot = 1
99  CALL dpftrf( '/', 'U', 0, a, info )
100  CALL chkxer( 'DPFTRF', infot, nout, lerr, ok )
101  infot = 2
102  CALL dpftrf( 'N', '/', 0, a, info )
103  CALL chkxer( 'DPFTRF', infot, nout, lerr, ok )
104  infot = 3
105  CALL dpftrf( 'N', 'U', -1, a, info )
106  CALL chkxer( 'DPFTRF', infot, nout, lerr, ok )
107 *
108  srnamt = 'DPFTRS'
109  infot = 1
110  CALL dpftrs( '/', 'U', 0, 0, a, b, 1, info )
111  CALL chkxer( 'DPFTRS', infot, nout, lerr, ok )
112  infot = 2
113  CALL dpftrs( 'N', '/', 0, 0, a, b, 1, info )
114  CALL chkxer( 'DPFTRS', infot, nout, lerr, ok )
115  infot = 3
116  CALL dpftrs( 'N', 'U', -1, 0, a, b, 1, info )
117  CALL chkxer( 'DPFTRS', infot, nout, lerr, ok )
118  infot = 4
119  CALL dpftrs( 'N', 'U', 0, -1, a, b, 1, info )
120  CALL chkxer( 'DPFTRS', infot, nout, lerr, ok )
121  infot = 7
122  CALL dpftrs( 'N', 'U', 0, 0, a, b, 0, info )
123  CALL chkxer( 'DPFTRS', infot, nout, lerr, ok )
124 *
125  srnamt = 'DPFTRI'
126  infot = 1
127  CALL dpftri( '/', 'U', 0, a, info )
128  CALL chkxer( 'DPFTRI', infot, nout, lerr, ok )
129  infot = 2
130  CALL dpftri( 'N', '/', 0, a, info )
131  CALL chkxer( 'DPFTRI', infot, nout, lerr, ok )
132  infot = 3
133  CALL dpftri( 'N', 'U', -1, a, info )
134  CALL chkxer( 'DPFTRI', infot, nout, lerr, ok )
135 *
136  srnamt = 'DTFSM '
137  infot = 1
138  CALL dtfsm( '/', 'L', 'U', 'T', 'U', 0, 0, alpha, a, b, 1 )
139  CALL chkxer( 'DTFSM ', infot, nout, lerr, ok )
140  infot = 2
141  CALL dtfsm( 'N', '/', 'U', 'T', 'U', 0, 0, alpha, a, b, 1 )
142  CALL chkxer( 'DTFSM ', infot, nout, lerr, ok )
143  infot = 3
144  CALL dtfsm( 'N', 'L', '/', 'T', 'U', 0, 0, alpha, a, b, 1 )
145  CALL chkxer( 'DTFSM ', infot, nout, lerr, ok )
146  infot = 4
147  CALL dtfsm( 'N', 'L', 'U', '/', 'U', 0, 0, alpha, a, b, 1 )
148  CALL chkxer( 'DTFSM ', infot, nout, lerr, ok )
149  infot = 5
150  CALL dtfsm( 'N', 'L', 'U', 'T', '/', 0, 0, alpha, a, b, 1 )
151  CALL chkxer( 'DTFSM ', infot, nout, lerr, ok )
152  infot = 6
153  CALL dtfsm( 'N', 'L', 'U', 'T', 'U', -1, 0, alpha, a, b, 1 )
154  CALL chkxer( 'DTFSM ', infot, nout, lerr, ok )
155  infot = 7
156  CALL dtfsm( 'N', 'L', 'U', 'T', 'U', 0, -1, alpha, a, b, 1 )
157  CALL chkxer( 'DTFSM ', infot, nout, lerr, ok )
158  infot = 11
159  CALL dtfsm( 'N', 'L', 'U', 'T', 'U', 0, 0, alpha, a, b, 0 )
160  CALL chkxer( 'DTFSM ', infot, nout, lerr, ok )
161 *
162  srnamt = 'DTFTRI'
163  infot = 1
164  CALL dtftri( '/', 'L', 'N', 0, a, info )
165  CALL chkxer( 'DTFTRI', infot, nout, lerr, ok )
166  infot = 2
167  CALL dtftri( 'N', '/', 'N', 0, a, info )
168  CALL chkxer( 'DTFTRI', infot, nout, lerr, ok )
169  infot = 3
170  CALL dtftri( 'N', 'L', '/', 0, a, info )
171  CALL chkxer( 'DTFTRI', infot, nout, lerr, ok )
172  infot = 4
173  CALL dtftri( 'N', 'L', 'N', -1, a, info )
174  CALL chkxer( 'DTFTRI', infot, nout, lerr, ok )
175 *
176  srnamt = 'DTFTTR'
177  infot = 1
178  CALL dtfttr( '/', 'U', 0, a, b, 1, info )
179  CALL chkxer( 'DTFTTR', infot, nout, lerr, ok )
180  infot = 2
181  CALL dtfttr( 'N', '/', 0, a, b, 1, info )
182  CALL chkxer( 'DTFTTR', infot, nout, lerr, ok )
183  infot = 3
184  CALL dtfttr( 'N', 'U', -1, a, b, 1, info )
185  CALL chkxer( 'DTFTTR', infot, nout, lerr, ok )
186  infot = 6
187  CALL dtfttr( 'N', 'U', 0, a, b, 0, info )
188  CALL chkxer( 'DTFTTR', infot, nout, lerr, ok )
189 *
190  srnamt = 'DTRTTF'
191  infot = 1
192  CALL dtrttf( '/', 'U', 0, a, 1, b, info )
193  CALL chkxer( 'DTRTTF', infot, nout, lerr, ok )
194  infot = 2
195  CALL dtrttf( 'N', '/', 0, a, 1, b, info )
196  CALL chkxer( 'DTRTTF', infot, nout, lerr, ok )
197  infot = 3
198  CALL dtrttf( 'N', 'U', -1, a, 1, b, info )
199  CALL chkxer( 'DTRTTF', infot, nout, lerr, ok )
200  infot = 5
201  CALL dtrttf( 'N', 'U', 0, a, 0, b, info )
202  CALL chkxer( 'DTRTTF', infot, nout, lerr, ok )
203 *
204  srnamt = 'DTFTTP'
205  infot = 1
206  CALL dtfttp( '/', 'U', 0, a, b, info )
207  CALL chkxer( 'DTFTTP', infot, nout, lerr, ok )
208  infot = 2
209  CALL dtfttp( 'N', '/', 0, a, b, info )
210  CALL chkxer( 'DTFTTP', infot, nout, lerr, ok )
211  infot = 3
212  CALL dtfttp( 'N', 'U', -1, a, b, info )
213  CALL chkxer( 'DTFTTP', infot, nout, lerr, ok )
214 *
215  srnamt = 'DTPTTF'
216  infot = 1
217  CALL dtpttf( '/', 'U', 0, a, b, info )
218  CALL chkxer( 'DTPTTF', infot, nout, lerr, ok )
219  infot = 2
220  CALL dtpttf( 'N', '/', 0, a, b, info )
221  CALL chkxer( 'DTPTTF', infot, nout, lerr, ok )
222  infot = 3
223  CALL dtpttf( 'N', 'U', -1, a, b, info )
224  CALL chkxer( 'DTPTTF', infot, nout, lerr, ok )
225 *
226  srnamt = 'DTRTTP'
227  infot = 1
228  CALL dtrttp( '/', 0, a, 1, b, info )
229  CALL chkxer( 'DTRTTP', infot, nout, lerr, ok )
230  infot = 2
231  CALL dtrttp( 'U', -1, a, 1, b, info )
232  CALL chkxer( 'DTRTTP', infot, nout, lerr, ok )
233  infot = 4
234  CALL dtrttp( 'U', 0, a, 0, b, info )
235  CALL chkxer( 'DTRTTP', infot, nout, lerr, ok )
236 *
237  srnamt = 'DTPTTR'
238  infot = 1
239  CALL dtpttr( '/', 0, a, b, 1, info )
240  CALL chkxer( 'DTPTTR', infot, nout, lerr, ok )
241  infot = 2
242  CALL dtpttr( 'U', -1, a, b, 1, info )
243  CALL chkxer( 'DTPTTR', infot, nout, lerr, ok )
244  infot = 5
245  CALL dtpttr( 'U', 0, a, b, 0, info )
246  CALL chkxer( 'DTPTTR', infot, nout, lerr, ok )
247 *
248  srnamt = 'DSFRK '
249  infot = 1
250  CALL dsfrk( '/', 'U', 'N', 0, 0, alpha, a, 1, beta, b )
251  CALL chkxer( 'DSFRK ', infot, nout, lerr, ok )
252  infot = 2
253  CALL dsfrk( 'N', '/', 'N', 0, 0, alpha, a, 1, beta, b )
254  CALL chkxer( 'DSFRK ', infot, nout, lerr, ok )
255  infot = 3
256  CALL dsfrk( 'N', 'U', '/', 0, 0, alpha, a, 1, beta, b )
257  CALL chkxer( 'DSFRK ', infot, nout, lerr, ok )
258  infot = 4
259  CALL dsfrk( 'N', 'U', 'N', -1, 0, alpha, a, 1, beta, b )
260  CALL chkxer( 'DSFRK ', infot, nout, lerr, ok )
261  infot = 5
262  CALL dsfrk( 'N', 'U', 'N', 0, -1, alpha, a, 1, beta, b )
263  CALL chkxer( 'DSFRK ', infot, nout, lerr, ok )
264  infot = 8
265  CALL dsfrk( 'N', 'U', 'N', 0, 0, alpha, a, 0, beta, b )
266  CALL chkxer( 'DSFRK ', infot, nout, lerr, ok )
267 *
268 * Print a summary line.
269 *
270  IF( ok ) THEN
271  WRITE( nout, fmt = 9999 )
272  ELSE
273  WRITE( nout, fmt = 9998 )
274  END IF
275 *
276  9999 FORMAT( 1x, 'DOUBLE PRECISION RFP routines passed the tests of ',
277  $ 'the error exits' )
278  9998 FORMAT( ' *** RFP routines failed the tests of the error ',
279  $ 'exits ***' )
280  RETURN
281 *
282 * End of DERRRFP
283 *
subroutine dtrttf(TRANSR, UPLO, N, A, LDA, ARF, INFO)
DTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed f...
Definition: dtrttf.f:196
subroutine dtpttr(UPLO, N, AP, A, LDA, INFO)
DTPTTR copies a triangular matrix from the standard packed format (TP) to the standard full format (T...
Definition: dtpttr.f:106
subroutine dpftri(TRANSR, UPLO, N, A, INFO)
DPFTRI
Definition: dpftri.f:193
subroutine dpftrs(TRANSR, UPLO, N, NRHS, A, B, LDB, INFO)
DPFTRS
Definition: dpftrs.f:201
subroutine dpftrf(TRANSR, UPLO, N, A, INFO)
DPFTRF
Definition: dpftrf.f:200
subroutine dtftri(TRANSR, UPLO, DIAG, N, A, INFO)
DTFTRI
Definition: dtftri.f:203
subroutine dsfrk(TRANSR, UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C)
DSFRK performs a symmetric rank-k operation for matrix in RFP format.
Definition: dsfrk.f:168
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3199
subroutine dtpttf(TRANSR, UPLO, N, AP, ARF, INFO)
DTPTTF copies a triangular matrix from the standard packed format (TP) to the rectangular full packed...
Definition: dtpttf.f:188
subroutine dtrttp(UPLO, N, A, LDA, AP, INFO)
DTRTTP copies a triangular matrix from the standard full format (TR) to the standard packed format (T...
Definition: dtrttp.f:106
subroutine dtfttp(TRANSR, UPLO, N, ARF, AP, INFO)
DTFTTP copies a triangular matrix from the rectangular full packed format (TF) to the standard packed...
Definition: dtfttp.f:189
subroutine dtfttr(TRANSR, UPLO, N, ARF, A, LDA, INFO)
DTFTTR copies a triangular matrix from the rectangular full packed format (TF) to the standard full f...
Definition: dtfttr.f:198
subroutine dtfsm(TRANSR, SIDE, UPLO, TRANS, DIAG, M, N, ALPHA, A, B, LDB)
DTFSM solves a matrix equation (one operand is a triangular matrix in RFP format).
Definition: dtfsm.f:279
Here is the call graph for this function:
Here is the caller graph for this function: