56 SUBROUTINE zchkbk( NIN, NOUT )
71 parameter ( lde = 20 )
73 parameter ( zero = 0.0d0 )
76 INTEGER I, IHI, ILO, INFO, J, KNT, N, NINFO
77 DOUBLE PRECISION EPS, RMAX, SAFMIN, VMAX, X
82 DOUBLE PRECISION SCALE( lde )
83 COMPLEX*16 E( lde, lde ), EIN( lde, lde )
86 DOUBLE PRECISION DLAMCH
93 INTRINSIC abs, dble, dimag, max
96 DOUBLE PRECISION CABS1
99 cabs1( cdum ) = abs( dble( cdum ) ) + abs( dimag( cdum ) )
109 safmin = dlamch(
'S' )
113 READ( nin, fmt = * )n, ilo, ihi
117 READ( nin, fmt = * )( scale( i ), i = 1, n )
119 READ( nin, fmt = * )( e( i, j ), j = 1, n )
123 READ( nin, fmt = * )( ein( i, j ), j = 1, n )
127 CALL zgebak(
'B',
'R', n, ilo, ihi, scale, n, e, lde, info )
137 x = cabs1( e( i, j )-ein( i, j ) ) / eps
138 IF( cabs1( e( i, j ) ).GT.safmin )
139 $ x = x / cabs1( e( i, j ) )
140 vmax = max( vmax, x )
144 IF( vmax.GT.rmax )
THEN
153 WRITE( nout, fmt = 9999 )
154 9999
FORMAT( 1x,
'.. test output of ZGEBAK .. ' )
156 WRITE( nout, fmt = 9998 )rmax
157 9998
FORMAT( 1x,
'value of largest test error = ', d12.3 )
158 WRITE( nout, fmt = 9997 )lmax( 1 )
159 9997
FORMAT( 1x,
'example number where info is not zero = ', i4 )
160 WRITE( nout, fmt = 9996 )lmax( 2 )
161 9996
FORMAT( 1x,
'example number having largest error = ', i4 )
162 WRITE( nout, fmt = 9995 )ninfo
163 9995
FORMAT( 1x,
'number of examples where info is not 0 = ', i4 )
164 WRITE( nout, fmt = 9994 )knt
165 9994
FORMAT( 1x,
'total number of examples tested = ', i4 )
subroutine zgebak(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO)
ZGEBAK
subroutine zchkbk(NIN, NOUT)
ZCHKBK