KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
POD: Implements proper orthogonal decomposition. More...
POD: Implements proper orthogonal decomposition.
Mainly relies on the matlab builtin functions svd and svds. This class wraps their functionality to a class integrable with KerMor.
abs
and rel
)Public Member Functions | |
POD () | |
function [
matrix< double > podvec , rowvec < double > s ] = | computePOD (matrix< double > data,matrix< double > Vexclude,colvec< integer > targetdims) |
Computes the POD vectors according to the specified settings. 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 res = | test_POD () |
Public Attributes | |
Mode = "rel" | |
The modus used to generate the reduced space. More... | |
Value = .3 | |
The value associated with the selected Mode. More... | |
UseSVDS = false | |
Flag whether to use the svds routine rather than svd. Applies only for the Modes abs and rel . For both sign and eps modes all singular values have to be computed anyways and svd is faster if all values are needed. 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... | |
Additional Inherited Members | |
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 inherited from DPCMObject | |
static function obj = | loadobj (obj, from) |
Re-register any registered change listeners! More... | |
static function obj = | loadobj (obj, from) |
general.POD.POD | ( | ) |
Definition at line 125 of file POD.m.
References KerMorObject.KerMorObject(), and DPCMObject.registerProps().
function [ matrix< double > podvec , rowvec< double > s ] = general.POD.computePOD | ( | matrix< double > | data, |
matrix< double > | Vexclude, | ||
colvec< integer > | targetdims | ||
) |
Computes the POD vectors according to the specified settings.
Depending on the type of data, any given Vinclude will be either projected out of the underlying data (matrix case) or appended to the computed space of target_dim minus Vinclude columns.
data | The set of column-vectors to perform the POD on. Can be a real matrix or a data.ABlockedData instance. or general.ABlockSVD |
Vexclude | A matrix containing orthonormal columns, whose spanned space is to be excluded from the SVD. If targetdims are given, the first dimension must match the targeted dimension's size. Default: [] |
targetdims | The dimensions on which to perform the SVD. Selects all by default. Default: : |
podvec | The POD modes computed. |
s | The singular values of the POD modes. If svds or FileMatrix is used, these are only as many as POD modes, otherwise this vector contains ALL singular values. |
Definition at line 132 of file POD.m.
References KerMor.App(), Mode, t, MatUtils.toSparse(), UseSVDS, and Value.
general.POD.Mode = "rel" |
The modus used to generate the reduced space.
sign
: All eigenvectors with singular values larger than value
percent of the largest eigenvalue are used. Use 0 for all.eps
: All eigenvectors with singular values larger than value
are used.rel
: Reduction to value
percent of the original space dimension.abs
: Explicitly specified reduced space dimension. Uses the first value
eigenvectors as space.The fastest modes are rel
and abs
as for these cases the target dimension can be computed before svd decomposition; for sign
and eps
all singular values are computed and the dimension is computed using these singular values.
sign
and eps
can lead to long computation times if the input samples are large as the full decomposition must be computed.Default: rel
SetObservable
set to true. Definition at line 48 of file POD.m.
Referenced by computePOD().
general.POD.UseSVDS = false |
Flag whether to use the svds routine rather than svd. Applies only for the Modes abs
and rel
. For both sign
and eps
modes all singular values have to be computed anyways and svd is faster if all values are needed.
IMPORTANT: The results when using svds are NOT REPRODUCABLE as svds uses an randomly initialized Arnoldi algorithm.
Default: false
SetObservable
set to true. Definition at line 100 of file POD.m.
Referenced by computePOD().
general.POD.Value = .3 |
The value associated with the selected Mode.
Default: .3
SetObservable
set to true. Definition at line 82 of file POD.m.
Referenced by computePOD().