KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
Base class for adaptive component-wise kernel approximation algorithms. More...
Base class for adaptive component-wise kernel approximation algorithms.
xi,ti,mui
parameters.This class is part of the framework
Homepage
http://www.morepas.org/software/index.htmlDocumentation
http://www.morepas.org/software/kermor/index.htmlLicense
KerMor license conditions Definition at line 19 of file AAdaptiveBase.m.
Public Member Functions | |
AAdaptiveBase () | |
function copy = | clone (copy) |
Clones the instance. More... | |
Public Member Functions inherited from approx.algorithms.ABase | |
ABase () | |
function copy = | clone (copy) |
The interface method with returns a copy of the current class instance. More... | |
function
kernels.KernelExpansion kexp = | computeApproximation (data.ApproxTrainData atd, avd) |
function [
str , rangetab ] = | getApproximationSummary () |
Setup. More... | |
function | plotSummary (pm, context) |
function nc = | getTotalNumConfigurations () |
Public Member Functions inherited from KerMorObject | |
KerMorObject () | |
Constructs a new KerMor object. More... | |
function | display () |
disp(object2str(this)); More... | |
function bool = | eq (B) |
Checks equality of two KerMor objects. More... | |
function bool = | ne (B) |
Checks if two KerMorObjects are different. More... | |
function cn = | getClassName () |
Returns the simple class name of this object without packages. More... | |
Public Member Functions inherited from DPCMObject | |
DPCMObject () | |
Creates a new DPCM object. More... | |
DPCMObject () | |
Public Attributes | |
integer | MaxExpansionSize = 300 |
The maximum size of the expansion to produce. More... | |
double | MaxRelErr = 1e-5 |
Stopping condition property. Maximum relative error that may occur. More... | |
char | InitialCenter = "maxfx" |
Determines how the initial center(s) are chosen. More... | |
colvec< double > | ExpansionSizes |
Used = "[]" | |
The indices of the effectively used centers during the. More... | |
Public Attributes inherited from approx.algorithms.ABase | |
kernels.config.ExpansionConfig | ExpConfig = "[]" |
The different kernel expansion configurations to try. More... | |
UsefScaling = false | |
Flag that determines whether the approximation center f values should be scaled to [-1,1] before the approximation is computed. More... | |
function_handle | ErrorFun = @Norm.L2 |
The error function to apply on each data vector. More... | |
double | LastCompTime = "[]" |
The computation time for the last run in seconds. More... | |
matrix< double > | MaxErrors = "[]" |
For each configuration, contains a row with the maximum errors on the training data. The number of columns depends on the type of algorithm implemented by the subclasses. More... | |
matrix< double > | MaxRelErrors = "[]" |
For each configuration, contains a row with the maximum relative errors on the training data. The number of columns depends on the type of algorithm implemented by the subclasses. More... | |
matrix< double > | ValidationErrors = "[]" |
For each configuration, contains a row with the maximum errors on the validation data. The number of columns depends on the type of algorithm implemented by the subclasses. More... | |
matrix< double > | ValidationRelErrors = "[]" |
For each configuration, contains a row with the maximum relative errors on the validation data. The number of columns depends on the type of algorithm implemented by the subclasses. More... | |
matrix< integer > | StopFlags = "[]" |
For each effective configuration, the stop flags are stored here. More... | |
integer | BestExpConfig |
Index of the best expansion config determined by the algorithm. More... | |
Public Attributes inherited from DPCMObject | |
WorkspaceVariableName = "" | |
The workspace variable name of this class. Optional. More... | |
ID = "[]" | |
An ID that allows to uniquely identify this DPCMObject (at least within the current MatLab session/context). More... | |
PropertiesChanged = "[]" | |
The Dictionary containing all the property settings as key/value pairs. More... | |
Public Attributes inherited from handle | |
addlistener | |
Creates a listener for the specified event and assigns a callback function to execute when the event occurs. More... | |
notify | |
Broadcast a notice that a specific event is occurring on a specified handle object or array of handle objects. More... | |
delete | |
Handle object destructor method that is called when the object's lifecycle ends. More... | |
disp | |
Handle object disp method which is called by the display method. See the MATLAB disp function. More... | |
display | |
Handle object display method called when MATLAB software interprets an expression returning a handle object that is not terminated by a semicolon. See the MATLAB display function. More... | |
findobj | |
Finds objects matching the specified conditions from the input array of handle objects. More... | |
findprop | |
Returns a meta.property objects associated with the specified property name. More... | |
fields | |
Returns a cell array of string containing the names of public properties. More... | |
fieldnames | |
Returns a cell array of string containing the names of public properties. See the MATLAB fieldnames function. More... | |
isvalid | |
Returns a logical array in which elements are true if the corresponding elements in the input array are valid handles. This method is Sealed so you cannot override it in a handle subclass. More... | |
eq | |
Relational functions example. See details for more information. More... | |
transpose | |
Transposes the elements of the handle object array. More... | |
permute | |
Rearranges the dimensions of the handle object array. See the MATLAB permute function. More... | |
reshape | |
hanges the dimensions of the handle object array to the specified dimensions. See the MATLAB reshape function. More... | |
sort | |
ort the handle objects in any array in ascending or descending order. More... | |
Protected Member Functions | |
function
kernels.KernelExpansion kexp = | templateComputeApproximation (data.ApproxTrainData atd,data.ApproxTrainData avd) |
Performs adaptive approximation generation. More... | |
function | initExpansion (kernels.KernelExpansion kexp,data.ApproxTrainData atd) |
Initializes the Find and set first expansion center. More... | |
function | extendExpansion (kernels.KernelExpansion kexp,data.ApproxTrainData atd,integer idx) |
Extends the kernel expansion kexp by the training data sample in atd given by index idx . More... | |
function bool = | checkStop (cnt, rel) |
Checks the stopping conditions for the adaptive approximation algorithm. More... | |
virtual function | startAdaptiveExtension (kernels.KernelExpansion kexp,data.ApproxTrainData atd) |
Runs the actual detailed algorithm. More... | |
Protected Member Functions inherited from approx.algorithms.ABase | |
function [
double val , integer idx , rowvec errs ] = | getError (kernels.KernelExpansion kexp,data.ApproxTrainData atd) |
Computes the error according to the chosen error function (see ErrorFun property) with respect to the current kernel expansion and the \(f(x_i)\) values in the training data. More... | |
virtual function | templateComputeApproximation (kernels.KernelExpansion kexp,data.ApproxTrainData atd, avd) |
Performs the actual approximation after scaling. More... | |
Protected Member Functions inherited from KerMorObject | |
function | checkType (obj, type) |
Object typechecker. More... | |
Protected Member Functions inherited from DPCMObject | |
function | registerProps (varargin) |
Call this method at any class that defines DPCM observed properties. More... | |
function | registerProps (varargin) |
Static Protected Member Functions | |
static function this = | loadobj (this, initfrom) |
Static Protected Member Functions inherited from approx.algorithms.ABase | |
static function this = | loadobj (this, initfrom) |
Static Protected Member Functions inherited from DPCMObject | |
static function obj = | loadobj (obj, from) |
Re-register any registered change listeners! More... | |
static function obj = | loadobj (obj, from) |
Protected Attributes | |
initialidx | |
Protected Attributes inherited from approx.algorithms.ABase | |
ScalingG | |
If UsefScaling is set to true, this matrix contains the scaling matrix which has to be used in sub-algorithms in order to compute the correct approximation error on training data. More... | |
approx.algorithms.AAdaptiveBase.AAdaptiveBase | ( | ) |
Definition at line 144 of file AAdaptiveBase.m.
References DPCMObject.registerProps().
|
protected |
Checks the stopping conditions for the adaptive approximation algorithm.
Considers maximum expansion size and maximum relative errors
Definition at line 262 of file AAdaptiveBase.m.
References KerMor.App(), MaxExpansionSize, and MaxRelErr.
|
virtual |
Clones the instance.
copy | The subclass instance where to copy the local properties to |
Implements ICloneable.
Definition at line 152 of file AAdaptiveBase.m.
References InitialCenter, initialidx, MaxExpansionSize, MaxRelErr, and Used.
|
protected |
Extends the kernel expansion kexp
by the training data sample in atd
given by index idx
.
kexp | The kernel expansion |
atd | The approximation training data |
idx | The index of the center to choose |
Definition at line 237 of file AAdaptiveBase.m.
References kernels.KernelExpansion.Centers, data.ApproxTrainData.hasParams, data.ApproxTrainData.hasTime, data.ApproxTrainData.mui, data.ApproxTrainData.ti, Used, and data.ApproxTrainData.xi.
Referenced by initExpansion().
|
protected |
Initializes the Find and set first expansion center.
kexp | A kernel expansion. |
atd | The approximation training data. |
Definition at line 221 of file AAdaptiveBase.m.
References kernels.KernelExpansion.clear(), extendExpansion(), initialidx, and Used.
|
staticprotected |
Definition at line 392 of file AAdaptiveBase.m.
References ExpansionSizes, initialidx, MaxExpansionSize, MaxRelErr, and Used.
|
protectedpure virtual |
Runs the actual detailed algorithm.
kexp | The kernel expansion |
atd | The approximation training data |
Referenced by templateComputeApproximation().
|
protected |
Performs adaptive approximation generation.
atd | The approximation training data instance |
avd | A validation data set. |
kexp | The kernel expansion approximation. |
Sealed
set to true. It cannot be overwritten. Definition at line 175 of file AAdaptiveBase.m.
References ExpansionSizes, approx.algorithms.ABase.ExpConfig, kernels.config.ExpansionConfig.getNumConfigurations(), initialidx, approx.algorithms.ABase.MaxErrors, MaxExpansionSize, approx.algorithms.ABase.MaxRelErrors, startAdaptiveExtension(), approx.algorithms.ABase.ValidationErrors, approx.algorithms.ABase.ValidationRelErrors, and data.ApproxTrainData.xi.
approx.algorithms.AAdaptiveBase.ExpansionSizes |
SetAccess = Protected, GetAccess = Public
Definition at line 114 of file AAdaptiveBase.m.
Referenced by loadobj(), approx.algorithms.VKOGA.startAdaptiveExtension(), and templateComputeApproximation().
approx.algorithms.AAdaptiveBase.InitialCenter = "maxfx" |
Determines how the initial center(s) are chosen.
maxfx
The center with the largest (w.r.t. the ABase.ErrorFun norm) associated \(f(x_i)\) value is chosen.center
The training point closest to the geometrical center if the training data's bounding box is used.t0
Tries to find a training sample for time zero and uses that. If None are found, the strategy falls back to center
. If multiple are found, the one closest to the geometrical center is chosen.maxfx
is related the closest to the greedy-type approach.Default: maxfx
SetObservable
set to true. Definition at line 85 of file AAdaptiveBase.m.
Referenced by clone().
|
protected |
Definition at line 139 of file AAdaptiveBase.m.
Referenced by clone(), initExpansion(), loadobj(), approx.algorithms.VKOGA.startAdaptiveExtension(), and templateComputeApproximation().
approx.algorithms.AAdaptiveBase.MaxExpansionSize = 300 |
The maximum size of the expansion to produce.
Equals the maximum number of iterations to perform during adaptive approximation computation as each iteration yields a new center.
Default: 300
SetObservable
set to true. Definition at line 50 of file AAdaptiveBase.m.
Referenced by checkStop(), clone(), loadobj(), approx.algorithms.VKOGA.startAdaptiveExtension(), and templateComputeApproximation().
approx.algorithms.AAdaptiveBase.MaxRelErr = 1e-5 |
Stopping condition property. Maximum relative error that may occur.
Default: 1e-5
SetObservable
set to true. Definition at line 70 of file AAdaptiveBase.m.
Referenced by checkStop(), clone(), loadobj(), and approx.algorithms.VKOGA.startAdaptiveExtension().
approx.algorithms.AAdaptiveBase.Used = "[]" |
The indices of the effectively used centers during the.
SetAccess = Protected, GetAccess = Public
Definition at line 125 of file AAdaptiveBase.m.
Referenced by clone(), extendExpansion(), initExpansion(), loadobj(), and approx.algorithms.VKOGA.startAdaptiveExtension().