Interface class for extension algorithms which define the basis extension routines used by the abstract Greedy algorithm class Greedy.Algorithm
Here, we usually assume, that we have
By enriching the subspace \({\cal W}_{\text{red}}\), we can improve the reduced algorithms.
Most prominent examples of Interface implementations are the classes Greedy.Plugin.EI and Greedy.Plugin.POD
Definition at line 19 of file Interface.m.
Public Member Functions | |
Interface (SnapshotsGenerator.Cached generator) | |
constructor for a greedy extension object | |
virtual function
Greedy.DataTree.Detailed.INode detailed_data = | init_basis (Greedy.User.IReducedModel rmodel,ModelData model_data,ParameterSampling.Interface M_train) |
creates an initial detailed data node storing an initial reduced basis | |
virtual function | prepare_reduced_data (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data) |
prepares reduced data that is necessary for the execution of other methods if indicated by needs_preparation. | |
virtual function [ max_errs , max_err_sequence , max_mu_index ] = | error_indicators (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data, parameter_set, reuse_reduced_data) |
computes error indicators for the reduced simulations for every parameter vector from a given parameter set \({\cal M}_{\text{train}}\). | |
virtual function errs = | compute_error (Greedy.User.IReducedModel rmodel,Greedy.User.ReducedData reduced_data,Greedy.User.IDetailedData detailed_data) |
computes the "true" error between a reduced and a detailed function \(\| v_h(t^k;\mu) - v_{\text{red}}(t^k;\mu) \|\). | |
virtual function
Uapprox = | generate_reduced (Greedy.User.IReducedModel rmodel,Greedy.User.ReducedData reduced_data,Greedy.User.IDetailedData detailed_data, U) |
generates a reduced function \(v_{\text{red}}(\mu)\). | |
virtual function [ breakloop , reason ] = | pre_check_for_end (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data) |
checks whether the basis generation process has come to an end. | |
virtual function
Greedy.User.IDetailedData detailed_data = | basis_extension (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data, max_err_seq, mu) |
extends the reduced basis space from a given function \(v_{h}(\mu)\). | |
virtual function
Greedy.User.IDetailedData detailed_data = | finalize (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data) |
function called after the last extension process | |
Public Attributes | |
id | |
a string identifying the basis extension algorithm, should be unique over all instances of Interface implementations. | |
relative_error | |
boolean flag specifying whether we want to use the relative error for error_indicators() and compute_error() methods. | |
indicator_mode | |
string specifying which indicators shall be used by the error_indicators() method. | |
needs_preparation | |
boolean indicating whether the prepare_reduced_data() method needs to be computed before error_indicators can be computed. | |
::SnapshotsGenerator.Cached | generator |
an object generating possible (high dimension) basis functions | |
Static Public Attributes | |
static const | generated_basis_type |
string specifying the detailed data produced by this basis generation algorithm object. | |
Greedy.Plugin.Interface.Interface | ( | SnapshotsGenerator.Cached | generator | ) |
constructor for a greedy extension object
generator | object generating the (high dimensional) basis functions |
Definition at line 131 of file Interface.m.
|
pure virtual |
extends the reduced basis space from a given function \(v_{h}(\mu)\).
This generates a new basis function \(\varphi_{n+1} \in {\cal W}_h\) from the sequence of detailed functions \(v_h(t^k,\mu)\) for \(k=0,\ldots,K\) as returned by the SnapshotsGenerator.Cached generator.
rmodel | an object specifying the basis generation process. |
detailed_data | object defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations. |
max_err_seq | sequence of error indicators as returned as second return argument of error_indicators() |
mu | paramter vector \(\mu\). |
detailed_data | updated data tree node . |
|
pure virtual |
computes the "true" error between a reduced and a detailed function \(\| v_h(t^k;\mu) - v_{\text{red}}(t^k;\mu) \|\).
rmodel | an object specifying the basis generation process. The parameter \(\mu\) for which the error shall be computed must be set by set_mu(rmodel, mu) before. |
reduced_data | an object constructing and storing all (low-dimensional) reduced matrices and vectors needed for reduced simulations. |
detailed_data | object defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations. |
errs | a sequence of errors at every time step \(k=0,\ldots,K\). |
Implemented in Greedy.Plugin.Default.
|
pure virtual |
computes error indicators for the reduced simulations for every parameter vector from a given parameter set \({\cal M}_{\text{train}}\).
An error indicator estimates an error
\[\eta^k(\mu) \geq \| v_h(t^k;\mu) - v_{\text{red}}(t^k;\mu) \|\]
for every time step \(0\leq t^0, \ldots, t^K = T\) and every parameter \(\mu \in {\cal M}\). The norm is a problem specific norm determined by the options in rmodel
.
This function's main use is to find a parameter vector
\[\mu_{\max} = \arg \sup_{\mu \in {\cal M}_{\text{train}} } \max_{k=0,\ldots,K} \eta^k(\mu)\]
.
rmodel | an object specifying the basis generation process. |
detailed_data | object defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations. |
parameter_set | a set of parameter vectors \({\cal M}_{\text{train}}\) as returned by ParameterSampling.Interface.space . |
reuse_reduced_data | optional flag indicating whether the reduced data needed for reduced simulations or computation of error estimators is still valid since its last generation. (default = false ) |
max_errs | a matrix of size n_parameters x model.nt+1 storing the error indicator \(\eta^k(\mu)\) for every \(k=0,\ldots,K\) and \(\mu \in {\cal M}_{\text{train}}\). |
max_err_sequence | a sequence of error indicators \(\eta^k(\mu_{\max})\) for every \(k=0,\ldots,K\). |
max_mu_index | the index of the parameter vector \(\mu_{\max}\) in the parameter_set matrix. |
|
pure virtual |
function called after the last extension process
rmodel | an object specifying the basis generation process. |
detailed_data | object defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations. |
detailed_data | updated data tree node . |
|
pure virtual |
generates a reduced function \(v_{\text{red}}(\mu)\).
rmodel | an object specifying the basis generation process. The parameter \(\mu\) for which the error shall be computed must be set by set_mu(rmodel, mu) before. |
reduced_data | an object storing all (low-dimensional) reduced matrices and vectors needed for reduced simulations. |
detailed_data | object defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations. |
U | optional DOF vector, for example operator evaluations. |
Uapprox | A sequence of Dof vectors of the functions \(v_{\text{red}}(\cdot;t^k,\mu)\). |
|
pure virtual |
creates an initial detailed data node storing an initial reduced basis
rmodel | an object specifying the basis generation process. |
M_train | an object specifying the parameter vector set \({\cal M}_{\text{train}}\) from which the basis functions are obtained. |
model_data | Matlab structure storing (possibly) high dimensional data needed by IDetailedModel.detailed_simulation(). |
detailed_data | an object storing the initial reduced basis vectors. |
|
pure virtual |
checks whether the basis generation process has come to an end.
Global break conditions (error_tolerance, timeout and validation ratio) are handled by Greedy.Algorithm .
rmodel | object specifying how the reduced simulations can be computed. |
detailed_data | object defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations. |
breakloop | boolean flag indicating whether the basis generation process is finished for this reduced basis space. |
reason | descriptive text telling about the reasons why, the extension process needs to break. |
|
pure virtual |
prepares reduced data that is necessary for the execution of other methods if indicated by needs_preparation.
rmodel | an object specifying the basis generation process. |
detailed_data | object defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations. |
|
static |
string specifying the detailed data produced by this basis generation algorithm object.
This should be one of
ei
: for empirical interpolation basisrb
: for reduced basiseirb
: for combination fo empirical interpolation and reduced basisDependent
set to true. SetAccess = Private, GetAccess = Public
Definition at line 104 of file Interface.m.
Greedy.Plugin.Interface.id |
a string identifying the basis extension algorithm, should be unique over all instances of Interface implementations.
Dependent
set to true. SetAccess = Private, GetAccess = Public
Definition at line 43 of file Interface.m.
Greedy.Plugin.Interface.indicator_mode |
string specifying which indicators shall be used by the error_indicators() method.
error
for an error between the detailed and the reduced computation. estimator
for an a posteriori error estimatorDefinition at line 70 of file Interface.m.
Greedy.Plugin.Interface.needs_preparation |
boolean indicating whether the prepare_reduced_data() method needs to be computed before error_indicators can be computed.
Dependent
set to true. Definition at line 89 of file Interface.m.
Greedy.Plugin.Interface.relative_error |
boolean flag specifying whether we want to use the relative error for error_indicators() and compute_error() methods.
Definition at line 58 of file Interface.m.