https://github.com/gramian/emgr
Raw File
Tip revision: 79c4355b7f064130fbfb08db18c178f9e297a5dd authored by Christian Himpe on 30 September 2023, 09:49:15 UTC
Update README.md
Tip revision: 79c4355
CHANGELOG
# 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
back to top