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.6

Bugfixes, using inputParsers more often, more structure for dynamical systems components and direct ODEfun methods

Submitted to /agh/git/kermor repository on 2012-11-07 Branch name: kermor06

Class approx.DEIM
(Daniel Wirtz, 2012-05-29) Besides many work-in-progress changes, now the evaluate function is implemented directly. further, some matrices needed for the DEIMEstimator have been included and are being computed.
Class data.ABlockedData
(Daniel Wirtz, 2012-10-01) Added an optional Vexclude matrix argument to exclude a given space from the data
Class data.ATrajectoryData
(Daniel Wirtz, 2011-12-14) Now also storing the computation time ctime for a trajectory. This comes from the fact that for error estimator comparisons we need the ctime for each trajectory for every different error estimator. See the changes in models.BaseModel for more information.
Class data.FileMatrix
(Daniel Wirtz, 2012-11-06) Changed the constructor to use an inputParser
Class data.FileTrajectoryData
(Daniel Wirtz, 2012-04-27) Added an internal property host to the class in order to record on which machine the FileTrajectoryData instance was created on. When saved and loaded at another machine, the dictionary will be cleared if the same path does not exist anymore on the new machine.
Class Dictionary
(Daniel Wirtz, 2012-01-17) Changed the clear method so that optionally a specific key can be passed in order to only remove one entry.
Member DPCMObject.loadobj (obj, from)

(Daniel Wirtz, 2012-01-17) Checking if any properties registered in the PropertiesChanged dictionary are not present anymore (due to updates etc) and removing them from the dictionary if that is the case.

(Daniel Wirtz, 2012-01-17) Checking if any properties registered in the PropertiesChanged dictionary are not present anymore (due to updates etc) and removing them from the dictionary if that is the case.

Class dscomponents.ACompEvalCoreFun
(Daniel Wirtz, 2012-06-11) The evaluateComponentPartialDerivatives method now supports vectorized inputs.
Class dscomponents.ACoreFun

(Daniel Wirtz, 2012-01-18) Fixed a bug so that PointerCoreFuns with no \(t\) or \(\mu\) argument can be evaluated and no index out of range errors occur. Also the output dimension is now automatically determined in that case.

(Daniel Wirtz, 2011-11-30) Fixed a bug regarding the setter for JSparsityPattern, as previously passing an empty value was not allowed.

Class dscomponents.AffLinCoreFun
(Daniel Wirtz, 2012-02-02) Removed the former offset term \(b\) as it can be modeled via the input source \(B(t,\mu)u(t)\) with constant \(u \equiv 1\).
Member dscomponents.PointerCoreFun.PointerCoreFun (function_handle funPtr, xdim,logical timedep)
(Daniel Wirtz, 2012-01-19) Added a new optional multieval parameter to indicate that the function handle can take matrix valued arguments \(x,t,\mu\).
Class error.BaseEstimator
(Daniel Wirtz, 2011-12-14) Changed the interface of the BaseEstimator.postProcess and BaseEstimator.prepareConstants methods so that the effective time needed for computation is returned. This is a consequence of the models.BaseFullModel's simulation cache.
Class error.DEIMEstimator

(Daniel Wirtz, 2012-06-11)

  • Added support for different norm-inducing matrices \(\vG\).
  • New property UseTrueDEIMErr to enable use of the actual DEIM approximation error within the alpha term computation (Experimental use)

(Daniel Wirtz, 2012-05-26) Updated the computation to the new structure of systems (A + f components) and replaced the previous (errorneous) one

Class EstimatorAnalyzer

(Daniel Wirtz, 2012-06-08) Adopted to new settings for the DEIM error estimator.

(Daniel Wirtz, 2011-12-05) Moved this class from the demos/EstimatorDemo to EstimatorAnalyzer

Member FindInstance (handle obj,char type, varargin)
(Daniel Wirtz, 2012-07-20) No longer running into an error if an extra specified property could not be found
Member FunVis2D (varargin)
(Daniel Wirtz, 2012-04-30) Can also pass a double matrix with direct range values if only the x-argument is used (no time/param)
Class general.AffParamMatrix

(Daniel Wirtz, 2012-05-24) Added automatic guessing of time dependency via evaluation of the coefficient functions after building them, using 0 and Inf times (with a 100-dim ones parameter vector)

(Daniel Wirtz, 2011-11-30)

  • Fixed a bug that has been introduced when introducing the faster implementation. Multiplication from left or right with a matrix caused an error as the resulting size was not computed correctly.
  • Also included a check for correct types as e.g. the return type for multiplication of two real different subclasses of AffParamMatrix is not well defined.
  • Added checks for the correct dimensions for standard operations. Scalar values are treated seperately.
Class general.AProjectable
(Daniel Wirtz, 2012-06-06) Moved from dscomponents to general package
Class general.DEIM

(Daniel Wirtz, 2012-06-08)

  • DEIM is now a KerMorObject
  • Fixed triggering of updateOrderData after computeDEIM calls
  • Completed clone method
  • New event "OrderUpdated" to notify any components of changes to the current DEIM orders

(Daniel Wirtz, 2012-05-29) Besides many work-in-progress changes, now the evaluate function is implemented directly. further, some matrices needed for the DEIMEstimator have been included and are being computed.

Class general.JacCompEvalWrapper

(Daniel Wirtz, 2012-07-16) Added fast implementation of evaluate for already sparse jacobians.

(Daniel Wirtz, 2012-06-08) Improved the speed of the evaluate-function by separate code for sparse/full matrices.

Class general.POD
(Daniel Wirtz, 2012-07-13) POD now also works with data.FileMatrix arguments (only modes abs and rel)
Class JaRMoSExport
(Daniel Wirtz, 2012-03-24) Restructured the export functions and classes. This class was the former AppExport class.
Class KerMor

(Christoph Strohmeyer, 2011-12-05) Removed external folders from PATH (supervised by dw)

(Daniel Wirtz, 2011-11-21) Implemented fake loadobj and saveobj methods so that accidential storing of KerMor instances inside save files does not corrupt the KerMor app singleton.

Class kernels.KernelExpansion
(Daniel Wirtz, 2012-04-25) Removed the RotationInvariant property from the kernel expansions and introduced kernels.BaseKernel.IsRBF and kernels.BaseKernel.IsScProd to indicate the properties on a per-kernel basis.
Class ModelAnalyzer
(Daniel Wirtz, 2011-11-17) Moved this class to the +tools package from visual.
Class models.BaseFullModel

(Daniel Wirtz, 2012-04-26) Using ProcessIndicator for training data generation now.

(Daniel Wirtz, 2011-12-14) Now listening for changes to T and dt of the model and clearing the model training data if either value changes

Class models.BaseModel

(Daniel Wirtz, 2012-05-26) Adopted way of computing the jacobian and jsparsity pattern for ode solvers according to new possibility of having a (affine) linear models.BaseFirstOrderSystem.A component.

(Daniel Wirtz, 2011-12-14) Introduced a ctime argument to the simulate and computeTrajectory methods. This motivates from several caching strategies that may be applied which lead to less computation time due to simple trajectory lookup. however, when comparing error estimators this effect irritates the results since subsequent calls to trajectory computations in the context of different estimators lead to different computation times.

(Daniel Wirtz, 2011-11-25) Made T a dependent property and added consistency checks for T and dt

Member models.BaseModel.getRandomParam (integer num,integer seed)
(Daniel Wirtz, 2012-07-13) Moved this method from models.BaseFirstOrderSystem to here for more convenience.
Class models.pcd.PCDModel
(Daniel Wirtz, 2011-11-27) Moved the static reduction experiments to their respective xD systems.
Class models.rbmatlab.RBMatlabModel
(Daniel Wirtz, 2012-01-26) Adopted to new computeTrajectory interface (returning time, too)
Class models.ReducedSystem
(Daniel Wirtz, 2012-05-29)
  • New direct methods for ODE handles (selection once per call more effective than if clauses every evaluation)
  • fixed cases with A component
  • fixed setting of A component upon setReducedModel
Member object2str (handle obj,integer maxdepth)
(Daniel Wirtz, 2011-11-23) Export as standalone object2str function.
Member ParamSweep (rmodel, mu, inputidx, param, paramvals, pm)
(Daniel Wirtz, 2011-12-05) Moved this class from the visual/PlotParamSweep to ParamSweep
Member ParamSweep2D (rmodel, mu, inputidx,matrix< integer > params,rowvec< double > range1,rowvec< double > range2,handle ax)
(Daniel Wirtz, 2011-12-05) Moved this class from the visual/PlotParamSweep to ParamSweep
Class PlotManager
(Daniel Wirtz, 2012-05-07)
  • PlotManager.savePlots now takes a cell array with file extensions, allowing to call the function once and generate all desired output types. Updated info string.
  • New default values (fig + pdf for savePlots, rows=cols=2 for subplots)
  • Only setting axes tight if no manual changes have been made to the axis limits
Class PrintTable

(Daniel Wirtz, 2012-06-11)

  • Added a new property NumRows that returns the number of rows (excluding the header if set).
  • Made the output a bit nicer and supporting logical values now

(Daniel Wirtz, 2012-05-04)

  • Added a property PrintTable.HasRowHeader that allows to use a single format specification for all row entries but the first one. Added a test for that.
  • A caption with sprintf-compatible arguments can be passed directly to the PrintTable constructor now.
  • Added support for pdf export (requires pdflatex on PATH)
  • The saveToFile method either opens a save dialog to pick a file or takes a filename.
  • New property PrintTable.TightPDF that determines if the pdf file generated for a table should be cropped to the actual table size or inserted into a standard article document. Having a tight pdf removes the caption of the table.

(Daniel Wirtz, 2011-12-14) Added support for arrays of PrintTable instances in display, print and saveToFile methods.

Class ProcessIndicator

(Daniel Wirtz, 2012-05-07) The constructor takes varargin arguments that are forwarded to a sprintf of the title string, if given.

(Daniel Wirtz, 2012-04-16) Fixed misinterpreted use of "step" method. Now have a step method which takes an increase value and a set method which takes the new absolute progress to show

Class solvers.AdaptiveSemiImplicitEuler
(Daniel Wirtz, 2012-05-28) Added support for DEIMErrorEstimator use with this solver.
Class solvers.AJacobianSolver
(Daniel Wirtz, 2011-12-07) Renamed this class from BaseImplSolver to AImplSolver, now merely providing jacobian matrix information and a checkable interface for implicit solvers
Class solvers.MLode15i
(Daniel Wirtz, 2011-12-07) Changed the inheritance order, now inheriting from MLWrapper solver class and overriding the actual solver call (different arguments for ode15i)
Class solvers.SemiImplicitEuler
(Daniel Wirtz, 2012-05-28) Added support for DEIMErrorEstimator use with this solver.
Class Utils

(Daniel Wirtz, 2012-06-08) Bugfix: Now the logarithmic norms are computed correctly. ARGH that took a while to detect..

(Daniel Wirtz, 2011-11-17) Moved the getObjectConfig to a separate file.

(Daniel Wirtz, 2011-11-16) Using mex CalcMD5 now to compute hash values for vectors. Source downloaded from http://www.mathworks.com/matlabcentral/fileexchange/25921. Also updated the KerMor.setup script to automatically compile the CalcMD5 mex file.

Member Utils.logNorm (matrix< double > A,matrix< double > G,colvec< double > v0)
(Daniel Wirtz, 2012-07-18) Added a re-try with 6 eigenvalues if no convergence for one eigenvalue takes place. Added an optional v0 parameter as start vector for eigs.