Feel++
0.92.0
|
Empirical interpolation of a function to obtain an affine decomposition. More...
#include <eim.hpp>
Public Types | |
Typedefs | |
typedef EIMBase< T > | super |
typedef super::value_type | value_type |
typedef super::coord_type | coord_type |
typedef Dmu::singleton_type | pset_type |
typedef pset_type::parameter_set_type | parameter_set_type |
typedef super::matrix_type | matrix_type |
typedef F< value_type > | f_type |
Public Member Functions | |
Methods | |
void | beta (vector_type &__beta, size_t M) const |
Online stage of the coefficient-function interpolation. | |
void | beta (vector_type &__beta, value_type &__err, size_t M) const |
template<class Archive > | |
void | serialize (Archive &__ar, const unsigned int __version) |
Constructors, destructor | |
EIM (space_type const &Xh, double __tol=1e-8) | |
EIM (EIM const &__bbf) | |
~EIM () | |
static EIMBase< T > * | create () |
Empirical interpolation of a function to obtain an affine decomposition.
We are given a function of sufficient regularity.
To begin, we choose , and define
,
, and
; we assume that
. Then, for
, we set
, where
is a suitably fine parameter sample over
. We then set
,
, and
. Note that, thanks to our truth approximation,
is the solution of a standard linear program.
We suppose that is chosen such that the dimension of
exceeds
.
We now construct nested sets of interpolation points ,
. We first set
,
,
. Then for
, we solve the linear system
,
, and set
,
,
, and
,
.
Our coefficient function approximation is the interpolant of over
:
, where
,
. We define
.
make it truly mesh independent.
find a generic solution for coordinates type coord_type
void Feel::EIM< T, Dmu, F >::beta | ( | vector_type & | __beta, |
size_t | M | ||
) | const [virtual] |
Online stage of the coefficient-function interpolation.
Our coefficient function approximation is the interpolant of over
:
, where
,
. We define
.
Note that is given and $D^$ is handled by the
parameterset_type
data structure.
Reimplemented from Feel::EIMBase< T >.