LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ dsxt1()

double precision function dsxt1 ( integer  IJOB,
double precision, dimension( * )  D1,
integer  N1,
double precision, dimension( * )  D2,
integer  N2,
double precision  ABSTOL,
double precision  ULP,
double precision  UNFL 
)

DSXT1

Purpose:
 DSXT1  computes the difference between a set of eigenvalues.
 The result is returned as the function value.

 IJOB = 1:   Computes   max { min | D1(i)-D2(j) | }
                         i     j

 IJOB = 2:   Computes   max { min | D1(i)-D2(j) | /
                         i     j
                              ( ABSTOL + |D1(i)|*ULP ) }
Parameters
[in]IJOB
          IJOB is INTEGER
          Specifies the type of tests to be performed.  (See above.)
[in]D1
          D1 is DOUBLE PRECISION array, dimension (N1)
          The first array.  D1 should be in increasing order, i.e.,
          D1(j) <= D1(j+1).
[in]N1
          N1 is INTEGER
          The length of D1.
[in]D2
          D2 is DOUBLE PRECISION array, dimension (N2)
          The second array.  D2 should be in increasing order, i.e.,
          D2(j) <= D2(j+1).
[in]N2
          N2 is INTEGER
          The length of D2.
[in]ABSTOL
          ABSTOL is DOUBLE PRECISION
          The absolute tolerance, used as a measure of the error.
[in]ULP
          ULP is DOUBLE PRECISION
          Machine precision.
[in]UNFL
          UNFL is DOUBLE PRECISION
          The smallest positive number whose reciprocal does not
          overflow.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
December 2016

Definition at line 108 of file dsxt1.f.

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  INTEGER ijob, n1, n2
116  DOUBLE PRECISION abstol, ulp, unfl
117 * ..
118 * .. Array Arguments ..
119  DOUBLE PRECISION d1( * ), d2( * )
120 * ..
121 *
122 * =====================================================================
123 *
124 * .. Parameters ..
125  DOUBLE PRECISION zero
126  parameter( zero = 0.0d0 )
127 * ..
128 * .. Local Scalars ..
129  INTEGER i, j
130  DOUBLE PRECISION temp1, temp2
131 * ..
132 * .. Intrinsic Functions ..
133  INTRINSIC abs, max, min
134 * ..
135 * .. Executable Statements ..
136 *
137  temp1 = zero
138 *
139  j = 1
140  DO 20 i = 1, n1
141  10 CONTINUE
142  IF( d2( j ).LT.d1( i ) .AND. j.LT.n2 ) THEN
143  j = j + 1
144  GO TO 10
145  END IF
146  IF( j.EQ.1 ) THEN
147  temp2 = abs( d2( j )-d1( i ) )
148  IF( ijob.EQ.2 )
149  $ temp2 = temp2 / max( unfl, abstol+ulp*abs( d1( i ) ) )
150  ELSE
151  temp2 = min( abs( d2( j )-d1( i ) ),
152  $ abs( d1( i )-d2( j-1 ) ) )
153  IF( ijob.EQ.2 )
154  $ temp2 = temp2 / max( unfl, abstol+ulp*abs( d1( i ) ) )
155  END IF
156  temp1 = max( temp1, temp2 )
157  20 CONTINUE
158 *
159  dsxt1 = temp1
160  RETURN
161 *
162 * End of DSXT1
163 *
double precision function dsxt1(IJOB, D1, N1, D2, N2, ABSTOL, ULP, UNFL)
DSXT1
Definition: dsxt1.f:108