KerMor  0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Changes in Version 0.5

Many bugfixes, most MUnit tests run, better class structure

Submitted to /agh/git/kermor repository on 2011-11-09 Branch name: kermor05

Class approx.algorithms.ABase

(Daniel Wirtz, 2011-11-02)

  • New interface for approximation computation: Passing an data.ApproxTrainData instance now instead of xi,ti,mui parameters.
  • New default value false for the UsefScaling property; recent experiments suggested true might not be a wise default value but an extra source of errors.

(Daniel Wirtz, 2011-10-14) Improved the parallel computation of kernel expansion coefficients.

(Daniel Wirtz, 2011-09-12) Added initial values that can be passed to the CoeffComp algorithms. Now computing coefficients at once if MultiTargetComputation of the CoeffComp property is true.

Class approx.algorithms.Componentwise
(Daniel Wirtz, 2011-11-02)
  • New interface for approximation computation: Passing an data.ApproxTrainData instance now instead of xi,ti,mui parameters.
  • Re-enabled the clone method
  • Using the new data.ApproxTrainData for guessGammas
Class approx.BaseApprox
(Daniel Wirtz, 2011-07-07)
  • Changed the interface for the old approximateCoreFun to approximateSystemFunction that now takes only the full model instance instead of \(x_i,t_i,\mu_i,f_{x_i}\) values.
  • The new default value for the approx train data selector is the data.selection.DefaultSelector.
Class approx.KernelApprox

(Daniel Wirtz, 2011-11-02)

  • Adopted to the new interface for approximation computation (passing data.ApproxTrainData instance instead of xi,ti,mui parameters)
  • Also cloning the approximation algorithm instance at KernelApprox.clone<p> (Daniel Wirtz, 2011-10-16) Included setting the projection-induced norm \(V^tGV\) to any kernels.ARBFKernel implementing classes as required by the theory. (So far made no difference as we had \(V^tGV=I_r\) all the time)

(Daniel Wirtz, 2011-07-07) Now inherits from kernels.ParamTimeKernelExpansion and has a strategy pattern class reference for the approximation generation algorithm "Algorithm". This has been changed so that standalone use of approximation algorithms can also be applied; now this class simply wraps this functionality in the context of the original model reduction scheme.

Class approx.TPWLApprox
(Daniel Wirtz, 2011-07-07) Changed this class to adopt to the new BaseApprox interface.
Class BinTree
(Daniel Wirtz, 2011-07-07) Bugfix in FindClosest: If the root key was already lower or bigger than all following nodes, an empty node instead of the root node was returned, leading to an error. Now the lower and upper closest nodes are always initialized to the root node.
Class data.ModelParam
(Daniel Wirtz, 2011-09-15) Added some documentation
Class data.selection.ASelector
(Daniel Wirtz, 2011-11-09) Changed the return type of selectTrainingData to an instance of data.ApproxTrainData (not having the fxi property set yet)
Class data.selection.EpsSelector
(Daniel Wirtz, 2011-08-04) Adopted this selector class to the new data.ATrajectoryData structure. For now it only works on models that sample a single trajectory, as originally proposed by the TPWL guys.
Class data.selection.LinspaceSelector
(Daniel Wirtz, 2011-08-4) Changed the behaviour of this class to adopt to the new ATrajectoryData iterface. The sampling is done as before, treating all trajectories as if they were contained in one big array.
Class data.selection.TimeSelector

(Daniel Wirtz, 2011-11-09) Re-enabled the use of this selector after adopting to new data.ApproxTrainData structure.

(Daniel Wirtz, 2011-08-04) Disabled the use of this selector, as the new data.ATrajectoryData structure does not cater sensefully for this type of approximation training data selection.

Class dscomponents.ACoreFun
(Daniel Wirtz, 2011-10-15) Improved the evaluate method and added a generic test method to test the multiargumentevaluation-capability (calls once with whole vector and then via singledim-loop, then compares diff up to eps)
Class dscomponents.AffLinCoreFun
(Daniel Wirtz, 2011-07-07) Updated this class to use the new general.AffParamMatrix class inside.
Class dscomponents.AInputConv
(Daniel Wirtz, 2011-07-07) Fixed output name from \(C\) to \(B\)
Class error.BaseCompLemmaEstimator
(Daniel Wirtz, 2011-07-04) Changed this classes name to "BaseCompLemmaEstimator".
Class error.BaseEstimator
(Daniel Wirtz, 2011-07-07) Added a new property e0Comp that computes the initial error for the given reduced model, depending on its initial value class. In consequence, the getE0 method is now found at this base error estimator class.
Class error.IterationCompLemmaEstimator
(Daniel Wirtz, 2011-07-07)
  • New properties smallz_flag to correctly transform the input space dimension on beta-computation depending on whether rotation invariant kernels are used or not.
  • Also made the estimator work with kernels.ParamTimeKernelExpansions<p> (Daniel Wirtz, 2011-07-04) Changed this class name to "IterationCompLemmaEstimator".
Class error.lipfun.Base
(Daniel Wirtz, 2011-07-04) Moved all local Lipschitz functions to the package error.lipfun
Member FunVis2D (varargin)

(Daniel Wirtz, 2011-10-24) New interface for simplified calls and some improvements and additions (error plots, centers and approx train data plots)

(Daniel Wirtz, 2011-09-15) Fixed display of less dimensions if not the full space in the slider-panel is needed

(Daniel Wirtz, 2011-09-12) Changed the base-x panel so that many dimensions can be displayed. A scrollbar callback dynamically creates the currently visible sliders. Added ParamTimeKernel expansion support (new calling interface with struct for those)

(Daniel Wirtz, 2011-08-08)

  • Made plotting work also if a dimension is of constant values. If such a dimension is chosen as one of the base dimensions, a warning is issued and no plot generated.
  • Fixed display of training points if all distances are zero (exchanged "<" by "<=").

(Daniel Wirtz, 2011-08-02) Extracted the comparison polynomials from PN7_Nils cooperation to more general external callbacks and created a small help description.

Class general.AffParamMatrix
(Daniel Wirtz, 2011-07-05) Renamed this class to AffParamMatrix and renamed the evaluate function to compose.
Class general.interpolation.KernelInterpol
(Daniel Wirtz, 2011-09-12) Set the UseLU flag to true per default. Using FileMatrix instances now, along with flags of whether to successively build the inverse, too.
Class general.regression.BaseScalarSVR

(Daniel Wirtz, 2011-11-09) Also allowing to pass a double matrix to the setter for the K property.

(Daniel Wirtz, 2011-08-22) Added the regularization parameter Lambda and made the C constraint dependent on that, as also done in literature. Moved the QPSolver to the classes that really use one.

Class general.regression.ScalarEpsSVR
(Daniel Wirtz, 2011-09-09) Moved the QPSolver property to this class.
Class general.regression.ScalarEpsSVR_SMO
(Daniel Wirtz, 2011-09-09) Finished initial work on this class, fixed many bugs and implemented all strategies required for the WSS7 described in SHS11. Added initial value (warm start) support.
Class general.regression.ScalarNuSVR
(Daniel Wirtz, 2011-09-09) Moved the QPSolver property to this class.
Class IKernelCoeffComp
(Daniel Wirtz, 2011-09-12)
  • Added initial values that can be passed to the CoeffComp algorithms.
  • New Property IKernelCoeffComp.MultiTargetComputation that indicates of the algorithm at hand can handle a column vector matrix instead of a single vector.
Class JaRMoSExport

(Daniel Wirtz, 2011-10-06) Moved this class to the export package.

(Daniel Wirtz, 2011-08-25) The saveRealMatrix and saveRealVector now save the matrix in the given class, i.e. double,single (=float32, 4bytes), int32 etc.

Class KerMor

(Daniel Wirtz, 2011-11-08)

  • Renamed "install" to "setup".
  • Removed the initDirectories method and moved them to the setup.
  • Upon subsequent calls to setup, KerMor asks if to keep previously set values for rbmatlab of JKerMor paths.

(Daniel Wirtz, 2011-11-08) Changed the name of the install method to setup and refactored the setup routine. Now using the new mtoc++ MatlabDocMaker and running setup again does propose previously set values as first guess.

(Daniel Wirtz, 2011-10-13) Moved all documentation related stuff to an own class "MatlabDocMaker" (now hidden from docs as in extern folder).

(Daniel Wirtz, 2011-07-28) Setting the DefaultFigurePosition at runtime now directly changes the root setting (so far only upon restart of KerMor/Matlab)

(Daniel Wirtz, 2011-07-07) New property DefaultFigurePosition.

(Daniel Wirtz, 2011-06-20) Started KerMor version 0.5

Class kernels.GaussKernel
(Daniel Wirtz, 2011-10-16) Exported the evaluate function to kernels.ARBFKernel, but re-implemented the customized evaluate function as the norm squared is already computed fast and first taking the square root and then squaring again would introduce unecessary overhead.
Class kernels.KernelExpansion
(Daniel Wirtz, 2011-07-28) Fixed the evaluate method, it had an argument Centers.xi too much.
Class models.BaseFirstOrderSystem

(Daniel Wirtz, 2011-10-17)

  • Removed the ISimConstants interface as the concept is too confusing when reducing models (core function evaluations must be fully self-contained regarding current mu and especially inputs)
  • Renamed the prepareConstants to BaseFirstOrderSystem.setConfig
  • New BaseFirstOrderSystem.getParamInfo method to display formatted information about a given parameter vector.

(Daniel Wirtz, 2011-07-07) New method getParamIndexFromName and fixed setConfig checks.

Class models.BaseFullModel

(Daniel Wirtz, 2011-10-16) Fixed the parallel computation of BaseFullModel.off2_genTrainingData so that it also works with data.FileTrajectoryData (parallel execution did not sync the hashmaps, now running data.FileTrajectoryData.consolidate fixes this)

(Daniel Wirtz, 2011-08-04) Adopted the off2_genTrainingData method to the new data.ATrajectoryData structure. Now all trajectories are stored either in memory or disk, and the data.ATrajectoryData classes take care of storage.

Class models.BaseModel

(Daniel Wirtz, 2011-11-02) Modified the set.ODESolver method so that the MaxTimestep value is set to empty if implicit solvers are used. If again an explicit solver is used, a warning is issued if the models.BaseFirstOrderSystem.MaxTimestep value of the corresponding System is empty.

(Daniel Wirtz, 2011-10-14) Removed the TimeDirty flag as it wasnt used properly/at all.

(Daniel Wirtz, 2011-09-29)

  • New flag-field RealTimePlotting that calls the new plotSingle method in order to display the system as it is simulated.
  • Made ODESolver dependent to implement connection to RealTimePlotting.
  • New double field RealTimePlottingMinPause to enable timely display of in-simulation states.
Class models.pcd.BasePCDSystem
(Daniel Wirtz, 2011-10-10) Generalized and restructured the models.pcd models and systems as far as possible. Removed the ISimConstants interfaces and added protected, custom models.pcd.BasePCDSystem.newSysDimension methods to propagate changes in geometry (models.pcd.BasePCDSystem.Omega or models.pcd.BasePCDSystem.h) to the systems and core functions.
Class models.pcd.CoreFun1D
(Daniel Wirtz, 2011-11-02) Augmenting the mu parameters by the base system's models.pcd.BasePCDSystem.ReacCoeff vector. This removes the reaction coefficients from the system as true parameters but allows to quickly revert the process if needed.
Class models.pcd.CoreFun2D

(Daniel Wirtz, 2011-11-02) Augmenting the mu parameters by the base system's models.pcd.BasePCDSystem.ReacCoeff vector. This removes the reaction coefficients from the system as true parameters but allows to quickly revert the process if needed.

(Daniel Wirtz, 2011-10-17) Removed the ISimConstants class and unified the structure of the 1D-3D pcd models.

Class models.pcd.CoreFun3D
(Daniel Wirtz, 2011-11-02) Augmenting the mu parameters by the base system's models.pcd.BasePCDSystem.ReacCoeff vector. This removes the reaction coefficients from the system as true parameters but allows to quickly revert the process if needed.
Class models.pcdi.InhibitCoreFun2D

(Daniel Wirtz, 2011-11-02) Augmenting the mu parameters by the base system's models.pcd.BasePCDSystem.ReacCoeff vector. This removes the reaction coefficients from the system as true parameters but allows to quickly revert the process if needed.

(Daniel Wirtz, 2011-10-17) Removed the ISimConstants class and unified the structure of the 1D-3D pcd models.

Class models.ReducedSystem

(Daniel Wirtz, 2011-10-15) Fixed the computation of reduced systems. Previously, the scaling was not included in the reduced model if no subspace projection was used. Now, scaling is included if set and independently from any subspace projection.

(Daniel Wirtz, 2011-08-05) Fixed the use of state space scaling in reduced simulations. Now the scaling and reduction is performed as described in State space scaling.

Class sampling.GridSampler

(Daniel Wirtz, 2011-11-09)

  • Fixed logspace grid sampling when any of the range values was zero.
  • New default value for Spacing is lin.

(Daniel Wirtz, 2011-10-19) Added a linear or logarithmic spacing method.

Class solvers.ExplEuler

(Daniel Wirtz, 2011-10-16) Adopted to the new BaseSolver.RealTimeMode flag.

(Daniel Wirtz, 2011-09-29) Added step-wise event implementation for real time plotting.

Class solvers.Heun

(Daniel Wirtz, 2011-10-16) Adopted to the new BaseSolver.RealTimeMode flag.

(Daniel Wirtz, 2011-09-29) Added step-wise event implementation for real time plotting.

Class solvers.MLode15i
(Daniel Wirtz, 2011-10-16) Adopted to the new BaseSolver.RealTimeMode flag.
Class solvers.MLWrapper

(Daniel Wirtz, 2011-10-16) Adopted to the new BaseSolver.RealTimeMode flag.

(Daniel Wirtz, 2011-10-15) Moved the creation of the SolverEventData into the solve function as creation in the constructor seems to crash Matlab versions prior to the 2011a which was used to program this functionality in the first place.

(Daniel Wirtz, 2011-09-29) Added callback for StepPerformed to enable "real time" plotting.

Class spacereduction.PODGreedy

(Daniel Wirtz, 2011-10-11)

  • Renamed this class to PODGreedy from TrajectoryGreedy.
  • Added another stopping criterion PODGreedy.MinRelImprovement in order to stop subspace computations as soon as the subsequent improvement becomes too small.

(Daniel Wirtz, 2011-09-29) Fixed initial subspace setup when all vectors are identical or even zero. Also added a new alglimit-property PODGreedy.MaxSubspaceSize to have an upper bound to the subspace size.

Class Utils
(Daniel Wirtz, 2011-09-15)
  • saveAxes and saveFigure now store the last save location in the preferences and reuse them.
  • removeMargin now properly works, together with saveFigure or saveAxes.