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
approx.algorithms.VKOGA Class Reference

VKOGA: Vectorial kernel orthogonal greedy algorithm. More...

Detailed Description

VKOGA: Vectorial kernel orthogonal greedy algorithm.

The VKOGA algorithm in introduced in [13] and adopts principles of greedy algorithms [6] [11]

Author
Daniel Wirtz
Date
2012-02-09
New in 0.7:
(Daniel Wirtz, 2014-01-24) Now can finally also use non-normalized kernels with the VKOGA algorithm.
Change in 0.7:
(Daniel Wirtz, 2012-11-26) Renamed to VKOGA and starting to build in IClassConfig interfaces
New in 0.6:
(Daniel Wirtz, 2012-02-09) Added this class.

This class is part of the framework

KerMor - Model Order Reduction using Kernels

Definition at line 19 of file VKOGA.m.

Public Member Functions

 VKOGA ()
 
function copy = clone ()
 Clones the instance. More...
 
- Public Member Functions inherited from approx.algorithms.AAdaptiveBase
 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 ()
 

Static Public Member Functions

static function res = test_VKOGA1DnD ()
 Tests the VKOGA algorithm by running the demos. More...
 
static function [
res ,
d ] = 
test_VKOGA2D1D ()
 Tests the VKOGA algorithm. More...
 

Public Attributes

logical UsefPGreedy = false
 Flag on whether to use the f/P-Greedy variant instead of f-Greedy. More...
 
double MaxAbsResidualErr = 1e-5
 Stopping criteria for the VKOGA algorithm. The execution for on expansion configuration is stopped if the maximum absolute pointwise L2-error is below this value. More...
 
char ValidationErrorMeasure = "abs"
 Determines which error measure is to use to select the "best" solution w.r.t. to the validation data set (the training data set is used if not given) More...
 
 VKOGABound
 
 AllExpansions
 
 bestNewtonBasisValuesOnATD
 
 basis_norms
 debug props More...
 
- Public Attributes inherited from approx.algorithms.AAdaptiveBase
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< doubleExpansionSizes
 
 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< doubleMaxErrors = "[]"
 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< doubleMaxRelErrors = "[]"
 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< doubleValidationErrors = "[]"
 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< doubleValidationRelErrors = "[]"
 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< integerStopFlags = "[]"
 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 = 
startAdaptiveExtension (data.ApproxTrainData atd, avd)
 Starts the adaptive extension of the VKOGA algorithm. More...
 
- Protected Member Functions inherited from approx.algorithms.AAdaptiveBase
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 ()
 
- Static Protected Member Functions inherited from approx.algorithms.AAdaptiveBase
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)
 

Additional Inherited Members

- Protected Attributes inherited from approx.algorithms.AAdaptiveBase
 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...
 

Constructor & Destructor Documentation

approx.algorithms.VKOGA.VKOGA ( )

Definition at line 108 of file VKOGA.m.

Member Function Documentation

function copy = approx.algorithms.VKOGA.clone ( )

Clones the instance.

Generated fields of copy:

Definition at line 113 of file VKOGA.m.

References AllExpansions, basis_norms, MaxAbsResidualErr, approx.algorithms.ABase.MaxRelErrors, UsefPGreedy, ValidationErrorMeasure, and VKOGABound.

static function this = approx.algorithms.VKOGA.loadobj ( )
staticprotected
function res = approx.algorithms.VKOGA.test_VKOGA1DnD ( )
static

Tests the VKOGA algorithm by running the demos.

Definition at line 396 of file VKOGA.m.

function [ res , d ] = approx.algorithms.VKOGA.test_VKOGA2D1D ( )
static

Tests the VKOGA algorithm.

Generated fields of d:

Definition at line 415 of file VKOGA.m.

References Utils.createCombinations(), handle.reshape, X, and Y.

Here is the call graph for this function:

Member Data Documentation

approx.algorithms.VKOGA.AllExpansions

Definition at line 87 of file VKOGA.m.

Referenced by clone(), and startAdaptiveExtension().

approx.algorithms.VKOGA.basis_norms

debug props

Note
This property has non-standard access specifiers: SetAccess = Private, GetAccess = Public
Matlab documentation of property attributes.

Definition at line 95 of file VKOGA.m.

Referenced by clone(), loadobj(), and startAdaptiveExtension().

approx.algorithms.VKOGA.bestNewtonBasisValuesOnATD

Definition at line 92 of file VKOGA.m.

Referenced by loadobj(), and startAdaptiveExtension().

approx.algorithms.VKOGA.MaxAbsResidualErr = 1e-5

Stopping criteria for the VKOGA algorithm. The execution for on expansion configuration is stopped if the maximum absolute pointwise L2-error is below this value.

Default:
1e-5


Default: 1e-5

Definition at line 58 of file VKOGA.m.

Referenced by clone(), loadobj(), and startAdaptiveExtension().

approx.algorithms.VKOGA.UsefPGreedy = false

Flag on whether to use the f/P-Greedy variant instead of f-Greedy.

Default:
false


Default: false

Definition at line 48 of file VKOGA.m.

Referenced by clone(), loadobj(), and startAdaptiveExtension().

approx.algorithms.VKOGA.ValidationErrorMeasure = "abs"

Determines which error measure is to use to select the "best" solution w.r.t. to the validation data set (the training data set is used if not given)

Allowed values are abs and rel

Default: abs

Definition at line 70 of file VKOGA.m.

Referenced by clone(), and startAdaptiveExtension().

approx.algorithms.VKOGA.VKOGABound

Definition at line 84 of file VKOGA.m.

Referenced by clone(), and startAdaptiveExtension().


The documentation for this class was generated from the following file: