-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEIGMAXA.SIF
156 lines (90 loc) · 2.48 KB
/
EIGMAXA.SIF
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
***************************
* SET UP THE INITIAL DATA *
***************************
NAME EIGMAXA
* Problem :
* --------
* Find the largest eigenvalue of a symmetrix matrix.
* The problem is, given a symmetric matrix A, to find a unit vector
* q and scalar d such that A q = d q for which - d is least.
* Example A: a diagonal matrix with eigenvales 1, .... , N.
* Source: An idea by Nick Gould
* SIF input: Nick Gould, Nov 1992.
* classification LQR2-AN-V-V
* The dimension of the matrix.
*IE N 2 $-PARAMETER
*IE N 10 $-PARAMETER original value
IE N 100 $-PARAMETER
* other parameter definitions
IE 1 1
RI RN N
R( ROOTN SQRT RN
RD 1/ROOTN ROOTN 1.0
* Define the whole matrix.
DO J 1 N
DO I 1 N
AE A(I,J) 0.0
OD I
RI RJ J
A= A(J,J) RJ
OD J
VARIABLES
* Define the eigenvalue
X D
DO I 1 N
* Define the eigenvector
X Q(I)
ND
GROUPS
* Define the objective
N MAXEIG D -1.0
* Introduce the normalization equation Q(T) Q - 1 = 0.
E O
* Introduce the eigen-equations D Q - A Q = 0.
DO I 1 N
DO K 1 N
AM -AIK A(I,K) -1.0
ZE E(I) Q(K) -AIK
ND
CONSTANTS
X EIGMAXA O 1.0
BOUNDS
LO EIGMAXA 'DEFAULT' -1.0
UP EIGMAXA 'DEFAULT' 1.0
START POINT
XV EIGMAXA D 1.0
DO I 1 N
ZV EIGMAXA Q(I) 1/ROOTN
ND
ELEMENT TYPE
EV 2PROD Q1 Q2
ELEMENT USES
XT 'DEFAULT' 2PROD
DO I 1 N
ZV E(I) Q1 Q(I)
ZV E(I) Q2 D
OD I
DO K 1 N
ZV O(K) Q1 Q(K)
ZV O(K) Q2 Q(K)
ND
GROUP USES
DO I 1 N
XE E(I) E(I)
ND
DO K 1 N
XE O O(K)
ND
ENDATA
***********************
* SET UP THE FUNCTION *
* AND RANGE ROUTINES *
***********************
ELEMENTS EIGMAXA
INDIVIDUALS
T 2PROD
F Q1 * Q2
G Q1 Q2
G Q2 Q1
H Q1 Q2 1.0D+0
ENDATA