LAPACK  3.6.1 LAPACK: Linear Algebra PACKage
 subroutine cchkec ( real THRESH, logical TSTERR, integer NIN, integer NOUT )

CCHKEC

Purpose:
``` CCHKEC tests eigen- condition estimation routines
CTRSYL, CTREXC, CTRSNA, CTRSEN

In all cases, the routine runs through a fixed set of numerical
examples, subjects them to various tests, and compares the test
results to a threshold THRESH. In addition, CTRSNA and CTRSEN are
tested by reading in precomputed examples from a file (on input unit
NIN).  Output is written to output unit NOUT.```
Parameters
 [in] THRESH ``` THRESH is REAL Threshold for residual tests. A computed test ratio passes the threshold if it is less than THRESH.``` [in] TSTERR ``` TSTERR is LOGICAL Flag that indicates whether error exits are to be tested.``` [in] NIN ``` NIN is INTEGER The logical unit number for input.``` [in] NOUT ``` NOUT is INTEGER The logical unit number for output.```
Date
November 2011

Definition at line 77 of file cchkec.f.

77 *
78 * -- LAPACK test routine (version 3.4.0) --
79 * -- LAPACK is a software package provided by Univ. of Tennessee, --
80 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
81 * November 2011
82 *
83 * .. Scalar Arguments ..
84  LOGICAL tsterr
85  INTEGER nin, nout
86  REAL thresh
87 * ..
88 *
89 * =====================================================================
90 *
91 * .. Local Scalars ..
92  LOGICAL ok
93  CHARACTER*3 path
94  INTEGER ktrexc, ktrsen, ktrsna, ktrsyl, ltrexc, ltrsyl,
95  \$ ntests, ntrexc, ntrsyl
96  REAL eps, rtrexc, rtrsyl, sfmin
97 * ..
98 * .. Local Arrays ..
99  INTEGER ltrsen( 3 ), ltrsna( 3 ), ntrsen( 3 ),
100  \$ ntrsna( 3 )
101  REAL rtrsen( 3 ), rtrsna( 3 )
102 * ..
103 * .. External Subroutines ..
104  EXTERNAL cerrec, cget35, cget36, cget37, cget38
105 * ..
106 * .. External Functions ..
107  REAL slamch
108  EXTERNAL slamch
109 * ..
110 * .. Executable Statements ..
111 *
112  path( 1: 1 ) = 'Complex precision'
113  path( 2: 3 ) = 'EC'
114  eps = slamch( 'P' )
115  sfmin = slamch( 'S' )
116  WRITE( nout, fmt = 9994 )
117  WRITE( nout, fmt = 9993 )eps, sfmin
118  WRITE( nout, fmt = 9992 )thresh
119 *
120 * Test error exits if TSTERR is .TRUE.
121 *
122  IF( tsterr )
123  \$ CALL cerrec( path, nout )
124 *
125  ok = .true.
126  CALL cget35( rtrsyl, ltrsyl, ntrsyl, ktrsyl, nin )
127  IF( rtrsyl.GT.thresh ) THEN
128  ok = .false.
129  WRITE( nout, fmt = 9999 )rtrsyl, ltrsyl, ntrsyl, ktrsyl
130  END IF
131 *
132  CALL cget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
133  IF( rtrexc.GT.thresh .OR. ntrexc.GT.0 ) THEN
134  ok = .false.
135  WRITE( nout, fmt = 9998 )rtrexc, ltrexc, ntrexc, ktrexc
136  END IF
137 *
138  CALL cget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
139  IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
140  \$ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
141  \$ THEN
142  ok = .false.
143  WRITE( nout, fmt = 9997 )rtrsna, ltrsna, ntrsna, ktrsna
144  END IF
145 *
146  CALL cget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
147  IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
148  \$ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
149  \$ THEN
150  ok = .false.
151  WRITE( nout, fmt = 9996 )rtrsen, ltrsen, ntrsen, ktrsen
152  END IF
153 *
154  ntests = ktrsyl + ktrexc + ktrsna + ktrsen
155  IF( ok )
156  \$ WRITE( nout, fmt = 9995 )path, ntests
157 *
158  9999 FORMAT( ' Error in CTRSYL: RMAX =', e12.3, / ' LMAX = ', i8,
159  \$ ' NINFO=', i8, ' KNT=', i8 )
160  9998 FORMAT( ' Error in CTREXC: RMAX =', e12.3, / ' LMAX = ', i8,
161  \$ ' NINFO=', i8, ' KNT=', i8 )
162  9997 FORMAT( ' Error in CTRSNA: RMAX =', 3e12.3, / ' LMAX = ',
163  \$ 3i8, ' NINFO=', 3i8, ' KNT=', i8 )
164  9996 FORMAT( ' Error in CTRSEN: RMAX =', 3e12.3, / ' LMAX = ',
165  \$ 3i8, ' NINFO=', 3i8, ' KNT=', i8 )
166  9995 FORMAT( / 1x, 'All tests for ', a3,
167  \$ ' routines passed the threshold ( ', i6, ' tests run)' )
168  9994 FORMAT( ' Tests of the Nonsymmetric eigenproblem condition',
169  \$ ' estimation routines', / ' CTRSYL, CTREXC, CTRSNA, CTRSEN',
170  \$ / )
171  9993 FORMAT( ' Relative machine precision (EPS) = ', e16.6,
172  \$ / ' Safe minimum (SFMIN) = ', e16.6, / )
173  9992 FORMAT( ' Routines pass computational tests if test ratio is ',
174  \$ 'less than', f8.2, / / )
175  RETURN
176 *
177 * End of CCHKEC
178 *
subroutine cerrec(PATH, NUNIT)
CERREC
Definition: cerrec.f:58
subroutine cget35(RMAX, LMAX, NINFO, KNT, NIN)
CGET35
Definition: cget35.f:86
subroutine cget36(RMAX, LMAX, NINFO, KNT, NIN)
CGET36
Definition: cget36.f:87
subroutine cget38(RMAX, LMAX, NINFO, KNT, NIN)
CGET38
Definition: cget38.f:93
real function slamch(CMACH)
SLAMCH
Definition: slamch.f:69
subroutine cget37(RMAX, LMAX, NINFO, KNT, NIN)
CGET37
Definition: cget37.f:92

Here is the call graph for this function:

Here is the caller graph for this function: