LAPACK  3.9.1
LAPACK: Linear Algebra PACKage

◆ zchktsqr()

subroutine zchktsqr ( double precision  THRESH,
logical  TSTERR,
integer  NM,
integer, dimension( * )  MVAL,
integer  NN,
integer, dimension( * )  NVAL,
integer  NNB,
integer, dimension( * )  NBVAL,
integer  NOUT 
)

DCHKQRT

Purpose:
 ZCHKTSQR tests ZGEQR and ZGEMQR.
Parameters
[in]THRESH
          THRESH is DOUBLE PRECISION
          The threshold value for the test ratios.  A result is
          included in the output file if RESULT >= THRESH.  To have
          every test ratio printed, use THRESH = 0.
[in]TSTERR
          TSTERR is LOGICAL
          Flag that indicates whether error exits are to be tested.
[in]NM
          NM is INTEGER
          The number of values of M contained in the vector MVAL.
[in]MVAL
          MVAL is INTEGER array, dimension (NM)
          The values of the matrix row dimension M.
[in]NN
          NN is INTEGER
          The number of values of N contained in the vector NVAL.
[in]NVAL
          NVAL is INTEGER array, dimension (NN)
          The values of the matrix column dimension N.
[in]NNB
          NNB is INTEGER
          The number of values of NB contained in the vector NBVAL.
[in]NBVAL
          NBVAL is INTEGER array, dimension (NBVAL)
          The values of the blocksize NB.
[in]NOUT
          NOUT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 100 of file zchktsqr.f.

102  IMPLICIT NONE
103 *
104 * -- LAPACK test routine --
105 * -- LAPACK is a software package provided by Univ. of Tennessee, --
106 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
107 *
108 * .. Scalar Arguments ..
109  LOGICAL TSTERR
110  INTEGER NM, NN, NNB, NOUT
111  DOUBLE PRECISION THRESH
112 * ..
113 * .. Array Arguments ..
114  INTEGER MVAL( * ), NBVAL( * ), NVAL( * )
115 * ..
116 *
117 * =====================================================================
118 *
119 * .. Parameters ..
120  INTEGER NTESTS
121  parameter( ntests = 6 )
122 * ..
123 * .. Local Scalars ..
124  CHARACTER*3 PATH
125  INTEGER I, J, K, T, M, N, NB, NFAIL, NERRS, NRUN, INB,
126  $ MINMN, MB, IMB
127 *
128 * .. Local Arrays ..
129  DOUBLE PRECISION RESULT( NTESTS )
130 * ..
131 * .. External Subroutines ..
132  EXTERNAL alaerh, alahd, alasum, zerrtsqr,
133  $ ztsqr01, xlaenv
134 * ..
135 * .. Intrinsic Functions ..
136  INTRINSIC max, min
137 * ..
138 * .. Scalars in Common ..
139  LOGICAL LERR, OK
140  CHARACTER*32 SRNAMT
141  INTEGER INFOT, NUNIT
142 * ..
143 * .. Common blocks ..
144  COMMON / infoc / infot, nunit, ok, lerr
145  COMMON / srnamc / srnamt
146 * ..
147 * .. Executable Statements ..
148 *
149 * Initialize constants
150 *
151  path( 1: 1 ) = 'Z'
152  path( 2: 3 ) = 'TS'
153  nrun = 0
154  nfail = 0
155  nerrs = 0
156 *
157 * Test the error exits
158 *
159  IF( tsterr ) CALL zerrtsqr( path, nout )
160  infot = 0
161 *
162 * Do for each value of M in MVAL.
163 *
164  DO i = 1, nm
165  m = mval( i )
166 *
167 * Do for each value of N in NVAL.
168 *
169  DO j = 1, nn
170  n = nval( j )
171  IF (min(m,n).NE.0) THEN
172  DO inb = 1, nnb
173  mb = nbval( inb )
174  CALL xlaenv( 1, mb )
175  DO imb = 1, nnb
176  nb = nbval( imb )
177  CALL xlaenv( 2, nb )
178 *
179 * Test ZGEQR and ZGEMQR
180 *
181  CALL ztsqr01( 'TS', m, n, mb, nb, result )
182 *
183 * Print information about the tests that did not
184 * pass the threshold.
185 *
186  DO t = 1, ntests
187  IF( result( t ).GE.thresh ) THEN
188  IF( nfail.EQ.0 .AND. nerrs.EQ.0 )
189  $ CALL alahd( nout, path )
190  WRITE( nout, fmt = 9999 )m, n, mb, nb,
191  $ t, result( t )
192  nfail = nfail + 1
193  END IF
194  END DO
195  nrun = nrun + ntests
196  END DO
197  END DO
198  END IF
199  END DO
200  END DO
201 *
202 * Do for each value of M in MVAL.
203 *
204  DO i = 1, nm
205  m = mval( i )
206 *
207 * Do for each value of N in NVAL.
208 *
209  DO j = 1, nn
210  n = nval( j )
211  IF (min(m,n).NE.0) THEN
212  DO inb = 1, nnb
213  mb = nbval( inb )
214  CALL xlaenv( 1, mb )
215  DO imb = 1, nnb
216  nb = nbval( imb )
217  CALL xlaenv( 2, nb )
218 *
219 * Test ZGELQ and ZGEMLQ
220 *
221  CALL ztsqr01( 'SW', m, n, mb, nb, result )
222 *
223 * Print information about the tests that did not
224 * pass the threshold.
225 *
226  DO t = 1, ntests
227  IF( result( t ).GE.thresh ) THEN
228  IF( nfail.EQ.0 .AND. nerrs.EQ.0 )
229  $ CALL alahd( nout, path )
230  WRITE( nout, fmt = 9998 )m, n, mb, nb,
231  $ t, result( t )
232  nfail = nfail + 1
233  END IF
234  END DO
235  nrun = nrun + ntests
236  END DO
237  END DO
238  END IF
239  END DO
240  END DO
241 *
242 * Print a summary of the results.
243 *
244  CALL alasum( path, nout, nfail, nrun, nerrs )
245 *
246  9999 FORMAT( 'TS: M=', i5, ', N=', i5, ', MB=', i5,
247  $ ', NB=', i5,' test(', i2, ')=', g12.5 )
248  9998 FORMAT( 'SW: M=', i5, ', N=', i5, ', MB=', i5,
249  $ ', NB=', i5,' test(', i2, ')=', g12.5 )
250  RETURN
251 *
252 * End of ZCHKQRT
253 *
subroutine alasum(TYPE, NOUT, NFAIL, NRUN, NERRS)
ALASUM
Definition: alasum.f:73
subroutine xlaenv(ISPEC, NVALUE)
XLAENV
Definition: xlaenv.f:81
subroutine alahd(IOUNIT, PATH)
ALAHD
Definition: alahd.f:107
subroutine alaerh(PATH, SUBNAM, INFO, INFOE, OPTS, M, N, KL, KU, N5, IMAT, NFAIL, NERRS, NOUT)
ALAERH
Definition: alaerh.f:147
subroutine zerrtsqr(PATH, NUNIT)
ZERRTSQR
Definition: zerrtsqr.f:55
subroutine ztsqr01(TSSW, M, N, MB, NB, RESULT)
ZTSQR01
Definition: ztsqr01.f:82
Here is the call graph for this function:
Here is the caller graph for this function: