LAPACK  3.9.0
LAPACK: Linear Algebra PACKage

◆ zchkunhr_col()

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

ZCHKUNHR_COL

Purpose:
 ZCHKUNHR_COL tests ZUNHR_COL using ZLATSQR and ZGEMQRT. Therefore, ZLATSQR
 (used in ZGEQR) and ZGEMQRT (used in ZGEMQR) have to be tested
 before this test.
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.
Date
November 2019

Definition at line 107 of file zchkunhr_col.f.

107  IMPLICIT NONE
108 *
109 * -- LAPACK test routine (version 3.7.0) --
110 * -- LAPACK is a software package provided by Univ. of Tennessee, --
111 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
112 * December 2016
113 *
114 * .. Scalar Arguments ..
115  LOGICAL TSTERR
116  INTEGER NM, NN, NNB, NOUT
117  DOUBLE PRECISION THRESH
118 * ..
119 * .. Array Arguments ..
120  INTEGER MVAL( * ), NBVAL( * ), NVAL( * )
121 * ..
122 *
123 * =====================================================================
124 *
125 * .. Parameters ..
126  INTEGER NTESTS
127  parameter( ntests = 6 )
128 * ..
129 * .. Local Scalars ..
130  CHARACTER(LEN=3) PATH
131  INTEGER I, IMB1, INB1, INB2, J, T, M, N, MB1, NB1,
132  $ NB2, NFAIL, NERRS, NRUN
133 *
134 * .. Local Arrays ..
135  DOUBLE PRECISION RESULT( NTESTS )
136 * ..
137 * .. External Subroutines ..
139 * ..
140 * .. Intrinsic Functions ..
141  INTRINSIC max, min
142 * ..
143 * .. Scalars in Common ..
144  LOGICAL LERR, OK
145  CHARACTER(LEN=32) SRNAMT
146  INTEGER INFOT, NUNIT
147 * ..
148 * .. Common blocks ..
149  COMMON / infoc / infot, nunit, ok, lerr
150  COMMON / srnamc / srnamt
151 * ..
152 * .. Executable Statements ..
153 *
154 * Initialize constants
155 *
156  path( 1: 1 ) = 'Z'
157  path( 2: 3 ) = 'HH'
158  nrun = 0
159  nfail = 0
160  nerrs = 0
161 *
162 * Test the error exits
163 *
164  IF( tsterr ) CALL zerrunhr_col( path, nout )
165  infot = 0
166 *
167 * Do for each value of M in MVAL.
168 *
169  DO i = 1, nm
170  m = mval( i )
171 *
172 * Do for each value of N in NVAL.
173 *
174  DO j = 1, nn
175  n = nval( j )
176 *
177 * Only for M >= N
178 *
179  IF ( min( m, n ).GT.0 .AND. m.GE.n ) THEN
180 *
181 * Do for each possible value of MB1
182 *
183  DO imb1 = 1, nnb
184  mb1 = nbval( imb1 )
185 *
186 * Only for MB1 > N
187 *
188  IF ( mb1.GT.n ) THEN
189 *
190 * Do for each possible value of NB1
191 *
192  DO inb1 = 1, nnb
193  nb1 = nbval( inb1 )
194 *
195 * Do for each possible value of NB2
196 *
197  DO inb2 = 1, nnb
198  nb2 = nbval( inb2 )
199 *
200  IF( nb1.GT.0 .AND. nb2.GT.0 ) THEN
201 *
202 * Test ZUNHR_COL
203 *
204  CALL zunhr_col01( m, n, mb1, nb1, nb2,
205  $ result )
206 *
207 * Print information about the tests that did
208 * not pass the threshold.
209 *
210  DO t = 1, ntests
211  IF( result( t ).GE.thresh ) THEN
212  IF( nfail.EQ.0 .AND. nerrs.EQ.0 )
213  $ CALL alahd( nout, path )
214  WRITE( nout, fmt = 9999 ) m, n, mb1,
215  $ nb1, nb2, t, result( t )
216  nfail = nfail + 1
217  END IF
218  END DO
219  nrun = nrun + ntests
220  END IF
221  END DO
222  END DO
223  END IF
224  END DO
225  END IF
226  END DO
227  END DO
228 *
229 * Print a summary of the results.
230 *
231  CALL alasum( path, nout, nfail, nrun, nerrs )
232 *
233  9999 FORMAT( 'M=', i5, ', N=', i5, ', MB1=', i5,
234  $ ', NB1=', i5, ', NB2=', i5,' test(', i2, ')=', g12.5 )
235  RETURN
236 *
237 * End of ZCHKUNHR_COL
238 *
Here is the call graph for this function:
Here is the caller graph for this function:
zerrunhr_col
subroutine zerrunhr_col(PATH, NUNIT)
ZERRUNHR_COL
Definition: zerrunhr_col.f:58
alahd
subroutine alahd(IOUNIT, PATH)
ALAHD
Definition: alahd.f:109
zunhr_col01
subroutine zunhr_col01(M, N, MB1, NB1, NB2, RESULT)
ZUNHR_COL01
Definition: zunhr_col01.f:89
alasum
subroutine alasum(TYPE, NOUT, NFAIL, NRUN, NERRS)
ALASUM
Definition: alasum.f:75