This repository has been archived by the owner on Sep 30, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
CHANGELOG
308 lines (246 loc) · 9.98 KB
/
CHANGELOG
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# emgr Changelog
## emgr 5.99 (2022-04)
* **CHANGED** parameter scale computation
* **ADDED** parameter centering around nominal parameter
* **ADDED** exact Schur complement for (cross-)identifiability Gramian
* **ADDED** inline-if local function for cleaner assignments
* **ADDED** Lie-bracket kernel and hyperbolic-SVD kernel for testing
* **ADDED** reciprocal square-root time-weighting
* **FIXED** normalization bug
* **FIXED** approximate inverse (Python)
* **IMPROVED** observability and adjoint caching
* **IMPROVED** default solver
* **IMPROVED** time-weighting
* **IMPROVED** code readability
## emgr 5.9 (2021-01)
* **CHANGED** chirp input function character changed to 'h'
* **CHANGED** perturbation ranges fixed
* **ADDED** parallelizability to more loops
* **ADDED** dynamic mode decomposition pseudo kernel
* **FIXED** state and scale weighting
* **IMPROVED** state-gramian variant setup
* **IMPROVED** cross gramian observability cache
* **IMPROVED** sensitivity Gramian perturbations
* **IMPROVED** loop bodies by simplification
## emgr 5.8 (2020-05)
* **CHANGED** replaced combined min/max by bounds
* **CHANGED** sequence of normalization options
* **ADDED** sinc input
* **ADDED** output-controllability Gramian (via controllability gramian)
* **ADDED** optional trajectory weighting
* **FIXED** normalization bug
* **FIXED** sensitivity Gramian bug
* **IMPROVED** sensitivity Gramian
* **IMPROVED** parameter Gramian calls
* **IMPROVED** configuration flag padding
* **IMPROVED** centering
* **IMPROVED** readability by sectioning
* **IMPROVED** readability of conditions
* **IMPROVED** Python version
* **REMOVED** geometric mean centering
## emgr 5.7 (2019-02)
* **CHANGED** built-in input argument codes
* **ADDED** built-in step input
* **ADDED** average observability Gramian option
* **ADDED** geometric mean centering
* **IMPROVED** exponential chirp input
* **IMPROVED** sensitivity Gramian computation
* **IMPROVED** linear cross Gramian scales
* **IMPROVED** memory footprint of non-symmetric cross Gramians
* **IMPROVED** code readability
* **IMPROVED** Python version
* **REMOVED** sensitivity Gramian normalization
## emgr 5.6 (2019-01)
* **ADDED** experimental Python version
* **ADDED** commented custom `end`
* **IMPROVED** code complexity
* **IMPROVED** default integrator
* **IMPROVED** parameter perturbations
* **IMPROVED** Gramian normalization
* **FIXED** bug in linear cross Gramian
## emgr 5.5 (2018-08)
* **ADDED** sensitivity Gramian normalization
* **FIXED** distributed cross Gramian computation
* **FIXED** linear cross Gramian scales
* **FIXED** approximate inverse computation
* **FIXED** mean centering
* **FIXED** parameter centering
## emgr 5.4 (2018-05)
* **CHANGED** linear chirp to exponential chirp
* **ADDED** input-output sensitivity Gramian
* **ADDED** builtin pseudo-random binary input
* **FIXED** preconditioner computation
## emgr 5.3 (2018-01)
* **CHANGED** preallocation of Gramian variables to reservation
* **CHANGED** sequence of computation in linear cross Gramian
* **ADDED** local identity function
* **ADDED** preallocation for input perturbation
* **FIXED** averaging in default integrator
## emgr 5.2 (2017-08)
* **IMPROVED** sparse scales
* **FIXED** root-mean-square centering
* **REMOVED** zero parameter scaling
* **REMOVED** wave centering
## emgr 5.1 (2017-05)
* **CHANGED** parameter Gramian computation to unified form
* **CHANGED** sensitivity Gramian via pseudo kernel
* **ADDED** wave centering (experimental)
* **ADDED** zero centering
* **ADDED** option flags for distributed computation
* **ADDED** argument for dot product handle
* **ADDED** comment on general Gramian computation
* **IMPROVED** preconditioner computation via pseudo kernel
* **IMPROVED** handling of extra input
* **IMPROVED** partition setup
* **FIXED** steady state centering
* **FIXED** default integrator
* **REMOVED** global variables for distributed computation
* **REMOVED** global variable for dot product handle
* **REMOVED** argument for parameter scales
## emgr 5.0 (2016-10)
* **CHANGED** bsxfun to automatic broadcasting
* **CHANGED** output trajectory storage to 3-tensor for cross Gramians
* **CHANGED** identifiability Schur complement to approximate inverse
* **CHANGED** cross-identifiability Schur complement to approximate inverse
* **CHANGED** default integrator to 2nd order SSP RK with enhanced stability
* **ADDED** midrange centering
* **ADDED** extra input for state Gramians
* **IMPROVED** perturbations with sparse vectors
* **FIXED** built-in chirp input
## emgr 4.0 (2016-06)
* **CHANGED** input scale option order
* **CHANGED** state scale option order
* **CHANGED** active parameter option
* **CHANGED** Gramian pre-allocation
* **CHANGED** state and parameter trajectory computations
* **CHANGED** centering from lambda to local function
* **CHANGED** identifiability Schur complement computation to pseudo inverse
* **CHANGED** default integrator to 2nd order Heun's method
* **ADDED** parameter scales argument `pm`
* **ADDED** inner product handle
* **ADDED** distributed cross Gramian computation
* **ADDED** distributed cross Gramian configuration
* **ADDED** linear non-symmetric cross Gramian
* **ADDED** enforced symmetry for controllability and observability Gramian
* **ADDED** zero scales filtering
* **IMPROVED** built-in chirp input
* **IMPROVED** observability trajectory storage
* **REMOVED** robust parameter option
* **REMOVED** median centering
* **REMOVED** midrange centering
* **REMOVED** dyadic rotations
* **REMOVED** reciprocal rotations
* **REMOVED** sensitivity Gramian centering
* **REMOVED** symmetry enforcement option
## emgr 3.9 (2016-02)
* **IMPROVED** built-in chirp input
* **FIXED** enforce symmetry option
## emgr 3.8 (2015-12)
* **CHANGED** parameter Gramian signal
* **CHANGED** default parameter centering to none
* **CHANGED** parameter sensitivity Gramian is now sparse
* **CHANGED** cross-identifiability Schur complement computation to pseudo inverse
* **ADDED** active parameter option
* **ADDED** enforce symmetry option
* **IMPROVED** observability trajectory transformation
* **REMOVED** time start from time discretization vector
## emgr 3.6 (2015-10)
* **CHANGED** predefined sparse scales
* **ADDED** min/max check for parameter Gramians
* **ADDED** caching for non-symmetric cross Gramian
## emgr 3.5 (2015-10)
* **CHANGED** default integrator to Ralston's 2nd order Runge Kutta method
* **ADDED** non-symmetric cross Gramian option
* **ADDED** logarithmic parameter scale centering
* **FIXED** time-series length
* **REMOVED** data-driven Gramians option
* **REMOVED** symmetrization option (now user responsibility)
* **REMOVED** integrator selection option
## emgr 3.1 (2015-05)
* **ADDED** midrange centering
* **ADDED** root-mean-squared centering
* **ADDED** sparse scales
* **IMPROVED** default integrators
* **REMOVED** PCA centering
* **REMOVED** POD centering
* **REMOVED** trajectory data argument `yd`
## emgr 3.0 (2015-03)
* **CHANGED** constraints for options
* **ADDED** GPU hunts
* **IMPROVED** performance for observability Gramian product
* **IMPROVED** performance for cross Gramian product
* **IMPROVED** approximate inverse
## emgr 2.9 (2015-01)
* **CHANGED** 3rd accelerated Runge-Kutta to improved 3rd order Runge Kutta solver
* **ADDED** zero scales check
* **ADDED** non-symmetric cross Gramian (w=x, w=j)
* **ADDED** version getter (f='version')
* **REMOVED** 1st order Euler integrator
* **REMOVED** 2nd order Adams-Bashforth integrator
* **REMOVED** 2nd order Ralston integrator
* **REMOVED** 2nd order leapfrog integrator
## emgr 2.5 (2014-09)
* **CHANGED** centering flag values
* **ADDED** optional linear chirp input
* **ADDED** output applicator function
* **ADDED** parameter scales
## emgr 2.2 (2014-06)
* **ADDED** sensitivity Gramian centering
## emgr 2.1 (2014-05)
* **ADDED** zero centering
* **ADDED** 3rd order accelerated Runge-Kutta integrator
* **IMPROVED** Gramian preallocation
## emgr 2.0 (2014-03)
* **CHANGED** config vector order
* **ADDED** enforce symmetry option
* **REMOVED** rotation configuration
## emgr 1.7 (2014-02)
* **CHANGED** Schur complement behavior
* **CHANGED** centering and rotations to lambdas
* **ADDED** 2nd order Ralston integrator
* **ADDED** fast approximate inverse
* **ADDED** optional input function as handle
* **ADDED** constant parameter excitation
* **FIXED** POD centering
## emgr 1.6 (2013-12)
* **CHANGED** factorial rotations
* **CHANGED** config vector name from `cf` to `nf`
* **ADDED** empirical linear cross Gramian
* **ADDED** custom integrator global handle
* **FIXED** normalization
## emgr 1.5 (2013-08)
* **CHANGED** parameter argument is now optional
* **REMOVED** controllability-observability joint Gramian
## emgr 1.3 (2013-07)
* **CHANGED** output trajectory computation
* **CHANGED** tabs to spaces
* **CHANGED** identifiability Gramian to approximation
* **ADDED** Leapfrog Integrator
* **ADDED** observability-only joint Gramian
* **ADDED** lazy output functional
* **IMPROVED** performance for observability Gramian product
* **IMPROVED** performance for cross Gramian product
* **REMOVED** output integrators
## emgr 1.2 (2013-06)
* **ADDED** median centering
* **ADDED** 3-tensor storage for observability data
* **IMPROVED** performance for observability Gramian product
* **IMPROVED** performance for cross Gramian product
## emgr 1.1 (2013-02)
* **ADDED** Adams-Bashforth integrator
* **IMPROVED** source code comments
## emgr 1.0 (2013-01)
* **CHANGED** configuration flags
* **CHANGED** PCA to POD
* **CHANGED** symmetrization behavior
* **ADDED** default argument handling
* **ADDED** sensitivity Gramian
* **ADDED** empirical cross Gramian
* **ADDED** empirical joint Gramian
* **ADDED** double run option
* **ADDED** robust parameter option
* **ADDED** sparse option
* **ADDED** `dirs` local function
* **ADDED** `parfor` hints
## emgr 0.9 (2012-10)
* Initial release for MoRePaS 2