FuncExpansion.hpp File Reference

Base class templates for the approximate expansion of a function in a sum of base functions. More...

#include "sgfatal.hpp"
#include "Array.hpp"
#include "small_matrix.hpp"

Include dependency graph for FuncExpansion.hpp:

This graph shows which files directly or indirectly include this file:


Classes

class  ExpansionBasis1D< T >
 The base class template for a basis of $([0, 1] \rightarrow R)$ -functions. More...
class  KernelExpansion1D< T >
 The base class template for the expansion of $(R \times R \rightarrow R)$-function. More...

Detailed Description

Base class templates for the approximate expansion of a function in a sum of base functions.

For ex., for a function $g : R \times R \rightarrow R$, the expansion is

\[ g(x, y) = \sum_{i = 0}^{N_1} \sum_{j = 0}^{N_2} c_{i,j} \phi_i (x) \psi_j (y) + Rest (x, y) \]

where $\phi_i$, $\psi_j$ are the basis functions and Rest is the remainder. The main purpose of the classes declared below is to keep the coefficients $c_{ij}$ and the functions $\phi_i$, $\psi_j$. The basis functions are defined and computed in classes derived from ExpansionBasis1D . The coefficients of the expansions are kept in a class derived from KernelExpansion1D where the user defines the kernel. This class references the objects of both the basis classes (for the x- and y-bases). Note that these references and the coefficients are initialized by a separate function that should be supplied for the class implementing the bases. The objects of the classes of the basis functions should exist as long as the object of the expansion is used.

Note:
The templates depend on the type 'T'. The template parameter is the type of the function's arguments and value. 'T' must be a real-value type, like 'double' or 'float'.
Date:
Dec. 27, 2005

Generated on Fri Sep 21 12:33:10 2007 for SG2 by  doxygen 1.5.2