KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
DEIM: Wrapper for KerMor dynamical systems of the general.DEIM class. More...
DEIM: Wrapper for KerMor dynamical systems of the general.DEIM class.
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 Public Member Functions | |
DEIM (sys) | |
function | approximateSystemFunction (models.BaseFullModel model) |
function fx = | evaluate (colvec< double > x,double t) |
function fx = | evaluateMulti (colvec< double > x,double t,colvec< double > mu) |
function | prepareSimulation (colvec< double > mu) |
function J = | getStateJacobian (colvec< double > x,double t) |
function fx = | evaluateCoreFun () |
do nothing as evaluate is overridden directly More... | |
function
projected = | project (V, W) |
function copy = | clone () |
Public Member Functions inherited from approx.BaseApprox | |
BaseApprox (sys) | |
function copy = | clone (copy) |
The interface method with returns a copy of the current class instance. More... | |
virtual function | approximateSystemFunction (model) |
Computes the approximation according to the concrete approximation strategy. More... | |
Public Member Functions inherited from dscomponents.ACoreFun | |
ACoreFun (sys) | |
function | setSystem (sys) |
function target = | project (V, W, target) |
Sets the protected \(\vV,\vW\) matrices that can be utilized on core function evaluations after projection. More... | |
function fx = | evaluate (x, t) |
Evaluates the f-approximation. Depending on a possible projection and the CustomProjection-property the function either calls the inner evaluation directly which assumes \(f = f^r(z)\) or projects the reduced state variable z into the original space and evaluates the function there, so via \(f = V'f(Vz)\). More... | |
function fx = | evaluateMulti (colvec< double > x,double t,colvec< double > mu) |
Evaluates this function on multiple locations and maybe multiple times and parameters. More... | |
function | prepareSimulation (colvec< double > mu) |
A method that allows parameter-dependent computations to be performed before a simulation using this parameter starts. More... | |
function J = | getStateJacobian (x, t) |
Default implementation of jacobian matrix evaluation via finite differences. More... | |
function J = | getStateJacobianImpl (colvec< double > x,double t) |
Default implementation of state jacobians. uses finite differences. More... | |
function copy = | clone (copy) |
The interface method with returns a copy of the current class instance. More... | |
function [
matrix< double > J , dx ] = | getStateJacobianFD (x, t,rowvec< integer > partidx) |
Implementation of jacobian matrix evaluation via finite differences. More... | |
virtual function fx = | evaluateCoreFun (colvec< double > x,double t) |
Actual method used to evaluate the dynamical sytems' core function. More... | |
function res = | test_MultiArgEval (mudim) |
Convenience function that tests if a custom MultiArgumentEvaluation works as if called with single arguments. More... | |
function logical res = | test_Jacobian (matrix< double > xa,rowvec< double > ta,matrix< double > mua) |
Tests the custom provided jacobian matrix against the default finite difference computed one. 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 () | |
Public Member Functions inherited from general.AProjectable | |
function handle target = | project (matrix< double > V,matrix< double > W,handle target) |
Returns a NEW INSTANCE of the projected object that does not rely on data of the old one via references (everything must be copied to ensure separability of reduced(=projected) versions and full versions, unless. More... | |
Public Member Functions inherited from general.DEIM | |
function | computeDEIM (dscomponents.ACompEvalCoreFun f,matrix< double > fxi) |
Implementation of the DEIM algorithm. More... | |
function fx = | evaluate (colvec< double > x,double t) |
function fx = | evaluateMulti (colvec< double > x,double t,colvec< double > mu) |
function J = | getStateJacobian (colvec< double > x,double t) |
function pts = | getInterpolationPoints (matrix< double > u) |
Computes the interpolation indices according to the DEIM algorithm. More... | |
function err = | getEstimatedError (colvec< double > x,double t,colvec< double > mu) |
function DEIM target = | project (matrix< double > V,matrix< double > W,DEIM target) |
Pojects instance according to the projection biorthogonal matrices \(V,W\). More... | |
function copy = | clone (copy) |
The interface method with returns a copy of the current class instance. More... | |
function | plotSummary (pm, context) |
Static Public Member Functions | |
static function res = | test_DEIM () |
Static Public Member Functions inherited from approx.BaseApprox | |
static function res = | test_ApproxProjections () |
Static Protected Member Functions | |
static function obj = | loadobj (obj, varargin) |
Static Protected Member Functions inherited from dscomponents.ACoreFun | |
static function obj = | loadobj (obj, from) |
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) |
Static Protected Member Functions inherited from general.AProjectable | |
static function obj = | loadobj (obj, from) |
Static Protected Member Functions inherited from general.DEIM | |
static function obj = | loadobj (obj, varargin) |
Additional Inherited Members | |
Public Attributes inherited from approx.BaseApprox | |
data.selection.ASelector | TrainDataSelector |
The algorithm that selects the approximation training data. More... | |
Public Attributes inherited from dscomponents.ACoreFun | |
logical | TimeDependent = true |
Flag that indicates if the ACoreFun is (truly) time-dependent. More... | |
CustomProjection = false | |
Set this property if the projection process is customized by overriding the default project method. More... | |
sparse< logical > | JSparsityPattern = "[]" |
Sparsity pattern for the jacobian matrix. More... | |
integer | xDim = "[]" |
The current state space dimension of the function's argument \(x\). More... | |
integer | fDim = "[]" |
The current output dimension of the function. More... | |
models.BaseFirstOrderSystem | System |
The system associated with the current ACoreFun. More... | |
colvec< double > | mu = "[]" |
The current model parameter mu for evaluations. Will not be persisted as only valid for runtime during simulations. More... | |
Vcache | |
Wcache | |
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 general.AProjectable | |
V | |
The \(V\) matrix of the biorthogonal pair \(V,W\). More... | |
W | |
The \(W\) matrix of the biorthogonal pair \(V,W\). More... | |
Public Attributes inherited from general.DEIM | |
integer | MaxOrder = 40 |
The maximum order up to which the DEIM approximation should be computed. More... | |
rowvec< integer > | Order |
The actual order \(M\) for the current DEIM approximation. More... | |
rowvec< double > | SingularValues = "[]" |
The singular values returned by the SVD decomposition to compute the DEIM POD basis. More... | |
matrix< double > | U |
The U matrix for the current Order. More... | |
matrix< double > | U_nonproj |
If projection is applied, this contains the non-projected full \(d \times m\) matrix \(U_m(P_m^tU_m)^{-1}\) for use in subclasses. More... | |
matrix< double > | Uerr1 |
Some matrices for M+M' error estimation. More... | |
Uerr2 | |
M1 | |
M2 | |
dscomponents.ACompEvalCoreFun | f |
The function which DEIM is applied to. More... | |
rowvec< double > | Residuals |
The maximum residuals obtained along the magic points computation. More... | |
EVENT | OrderUpdated |
Gets fired whenever this DEIM instance has updated it's order matrices. 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) |
Protected Member Functions inherited from general.DEIM | |
function | updateOrderData () |
Update approximation order as specified in fOrder. As a consequence some matrices have to be recalculated. More... | |
Protected Attributes inherited from general.DEIM | |
matrix< double > | u |
The full approximation base. More... | |
rowvec< double > | pts |
Interpolation points. More... | |
approx.DEIM.DEIM | ( | sys | ) |
Definition at line 49 of file DEIM.m.
References dscomponents.ACoreFun.CustomProjection, and dscomponents.ACoreFun.TimeDependent.
function approx.DEIM.approximateSystemFunction | ( | models.BaseFullModel | model | ) |
Definition at line 58 of file DEIM.m.
References data.ModelData.ApproxTrainData, general.DEIM.computeDEIM(), models.BaseFullModel.Data, models.BaseFirstOrderSystem.f, data.ApproxTrainData.fxi, and models.BaseModel.System.
function copy = approx.DEIM.clone | ( | ) |
Definition at line 107 of file DEIM.m.
References dscomponents.ACoreFun.System.
Referenced by project().
function fx = approx.DEIM.evaluateCoreFun | ( | ) |
|
staticprotected |
Definition at line 73 of file DEIM.m.
References general.DEIM.f, and dscomponents.ACoreFun.prepareSimulation().
function projected = approx.DEIM.project | ( | V, | |
W | |||
) |
|
static |
Definition at line 124 of file DEIM.m.
References dscomponents.ACoreFun.mu.