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
spacereduction.PODGreedy Class Reference

PODGreedy: Greedy subspace computation over a fixed set of trajectories. More...

Detailed Description

PODGreedy: Greedy subspace computation over a fixed set of trajectories.

This subspace computation method uses the POD-Greedy algorithm to determine a subspace which has a projection error less than the specified tolerance Eps. Therein, subsequently the largest trajectory projection error norm sums are taken for all trajectories, and the one with the largest is chosen. Of that trajectory, a POD of the projection error (orthogonal complement) vectors is performed and the first mode is added to the base, which is orthonormalized afterwards.

See http://www.agh.ians.uni-stuttgart.de/publications/2011/Haa11/ and references therein for details.

Author
Daniel Wirtz
Date
2011-08-04
Change in 0.5:
(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.
Change in 0.5:
(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.
New in 0.5:
(Daniel Wirtz, 2011-08-04) Added this class.

This class is part of the framework

KerMor - Model Order Reduction using Kernels

Definition at line 18 of file PODGreedy.m.

Public Member Functions

 PODGreedy ()
 
function  plotSummary (pm, context)
 
- Public Member Functions inherited from spacereduction.BaseSpaceReducer
function [ V ,
W ] = 
generateReducedSpace (models.BaseFullModel model)
 Generates the reduced linear subspace for the given model. More...
 
- 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  test_PODGreedy ()
 

Public Attributes

double Eps = 1e-6
 The desired accuracy over all training trajectories. More...
 
double MinRelImprovement = .005
 The minimum required relative error improvement compared to the previous error. More...
 
integer MaxSubspaceSize = 100
 The maximum subspace size, EXCLUDING any non-reducable dimensions. More...
 
matrix< doubleInitialSpace = "[]"
 An initial space to use. More...
 
 ErrorImprovements
 
- Public Attributes inherited from spacereduction.BaseSpaceReducer
logical IncludeTrajectoryFxiData = false
 Flag if to include \(f(x_i)\) values for each \(x_i\) value, too. More...
 
 IncludeFiniteDifferences = false
 
 IncludeBSpan = false
 
 IncludeAxData = false
 
varargin TargetDimensions = ":"
 This property determines which dimensions are to be reduced. It is possible to reduce the entire number of DoFs but also only selected ones. More...
 
 ProjectionError = "[]"
 
- 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...
 
- Public Attributes inherited from IParallelizable
 ComputeParallel = false
 Flag whether the code should be run in parallel or not. More...
 

Protected Member Functions

function [ V ,
W ] = 
generateReducedSpaceImpl (models.BaseFullModel model, subset)
 
- Protected Member Functions inherited from spacereduction.BaseSpaceReducer
function V = getInitialSpace (blockdata, pod, subset)
 Computes the initial space, which is the first POD mode of the initial values! 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)
 

Additional Inherited Members

- 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)
 

Constructor & Destructor Documentation

spacereduction.PODGreedy.PODGreedy ( )

Definition at line 136 of file PODGreedy.m.

References DPCMObject.registerProps().

Here is the call graph for this function:

Member Function Documentation

static function spacereduction.PODGreedy.test_PODGreedy ( )
static

Definition at line 309 of file PODGreedy.m.

Member Data Documentation

spacereduction.PODGreedy.Eps = 1e-6

The desired accuracy over all training trajectories.

Property class critical:
Ultimately determines the projection error on all training trajectories.

Default: 1e-6

Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.

Definition at line 60 of file PODGreedy.m.

Referenced by generateReducedSpaceImpl(), and plotSummary().

spacereduction.PODGreedy.ErrorImprovements

Definition at line 131 of file PODGreedy.m.

Referenced by generateReducedSpaceImpl(), and plotSummary().

spacereduction.PODGreedy.InitialSpace = "[]"

An initial space to use.

Optional, otherwise an initial space is computed using the first vectors from the available trajectories.

Must match the system's state space trajectory size.

Property class optional:
Can be useful if a specific choice for initial spaces is available.

Default: []

Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.

Definition at line 108 of file PODGreedy.m.

Referenced by generateReducedSpaceImpl().

spacereduction.PODGreedy.MaxSubspaceSize = 100

The maximum subspace size, EXCLUDING any non-reducable dimensions.

Property class alglimit:

Default: 100

Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.

Definition at line 93 of file PODGreedy.m.

Referenced by generateReducedSpaceImpl(), and plotSummary().

spacereduction.PODGreedy.MinRelImprovement = .005

The minimum required relative error improvement compared to the previous error.

Property class important:
Too little minimal improvement causes a too large subspace

Default: 0.005

Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.

Definition at line 76 of file PODGreedy.m.

Referenced by generateReducedSpaceImpl().


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