LAPACK  3.10.1
LAPACK: Linear Algebra PACKage

◆ zslect()

logical function zslect ( complex*16  Z)

ZSLECT

Purpose:
 ZSLECT returns .TRUE. if the eigenvalue Z is to be selected,
 otherwise it returns .FALSE.
 It is used by ZCHK41 to test if ZGEES successfully sorts eigenvalues,
 and by ZCHK43 to test if ZGEESX successfully sorts eigenvalues.

 The common block /SSLCT/ controls how eigenvalues are selected.
 If SELOPT = 0, then ZSLECT return .TRUE. when real(Z) is less than
 zero, and .FALSE. otherwise.
 If SELOPT is at least 1, ZSLECT returns SELVAL(SELOPT) and adds 1
 to SELOPT, cycling back to 1 at SELMAX.
Parameters
[in]Z
          Z is COMPLEX*16
          The eigenvalue Z.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 55 of file zslect.f.

56 *
57 * -- LAPACK test routine --
58 * -- LAPACK is a software package provided by Univ. of Tennessee, --
59 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
60 *
61 * .. Scalar Arguments ..
62  COMPLEX*16 Z
63 * ..
64 *
65 * =====================================================================
66 *
67 * .. Parameters ..
68  DOUBLE PRECISION ZERO
69  parameter( zero = 0.0d0 )
70 * ..
71 * .. Local Scalars ..
72  INTEGER I
73  DOUBLE PRECISION RMIN, X
74 * ..
75 * .. Scalars in Common ..
76  INTEGER SELDIM, SELOPT
77 * ..
78 * .. Arrays in Common ..
79  LOGICAL SELVAL( 20 )
80  DOUBLE PRECISION SELWI( 20 ), SELWR( 20 )
81 * ..
82 * .. Common blocks ..
83  COMMON / sslct / selopt, seldim, selval, selwr, selwi
84 * ..
85 * .. Intrinsic Functions ..
86  INTRINSIC abs, dble, dcmplx
87 * ..
88 * .. Executable Statements ..
89 *
90  IF( selopt.EQ.0 ) THEN
91  zslect = ( dble( z ).LT.zero )
92  ELSE
93  rmin = abs( z-dcmplx( selwr( 1 ), selwi( 1 ) ) )
94  zslect = selval( 1 )
95  DO 10 i = 2, seldim
96  x = abs( z-dcmplx( selwr( i ), selwi( i ) ) )
97  IF( x.LE.rmin ) THEN
98  rmin = x
99  zslect = selval( i )
100  END IF
101  10 CONTINUE
102  END IF
103  RETURN
104 *
105 * End of ZSLECT
106 *
logical function zslect(Z)
ZSLECT
Definition: zslect.f:56