1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
LOGICAL FUNCTION SB02MS( REIG, IEIG )
C
C RELEASE 4.0, WGS COPYRIGHT 1999.
C
C PURPOSE
C
C To select the unstable eigenvalues for solving the discrete-time
C algebraic Riccati equation.
C
C ARGUMENTS
C
C Input/Output Parameters
C
C REIG (input) DOUBLE PRECISION
C The real part of the current eigenvalue considered.
C
C IEIG (input) DOUBLE PRECISION
C The imaginary part of the current eigenvalue considered.
C
C METHOD
C
C The function value SB02MS is set to .TRUE. for an unstable
C eigenvalue (i.e., with modulus greater than or equal to one) and
C to .FALSE., otherwise.
C
C REFERENCES
C
C None.
C
C NUMERICAL ASPECTS
C
C None.
C
C CONTRIBUTOR
C
C V. Sima, Katholieke Univ. Leuven, Belgium, Aug. 1997.
C
C REVISIONS
C
C -
C
C KEYWORDS
C
C Algebraic Riccati equation, closed loop system, discrete-time
C system, optimal regulator, Schur form.
C
C ******************************************************************
C
C .. Parameters ..
DOUBLE PRECISION ONE
PARAMETER ( ONE = 1.0D0 )
C .. Scalar Arguments ..
DOUBLE PRECISION IEIG, REIG
C .. External Functions ..
DOUBLE PRECISION DLAPY2
EXTERNAL DLAPY2
C .. Executable Statements ..
C
SB02MS = DLAPY2( REIG, IEIG ).GE.ONE
C
RETURN
C *** Last line of SB02MS ***
END
|