29 #ifndef __FEELPP_FUNCTIONALS_HPP
30 #define __FEELPP_FUNCTIONALS_HPP 1
50 template<
typename Space>
59 typedef typename super::space_type space_type;
60 typedef typename space_type::value_type value_type;
68 :
super( b, ublas::trans( b.basis()( __pt ) ) )
85 template<
typename Space>
94 typedef typename super::space_type space_type;
95 typedef typename space_type::value_type value_type;
106 ublas::matrix<value_type> m( ublas::zero_matrix<value_type>( space_type::nComponents, b.polynomialDimensionPerComponent() ) );
109 std::cout <<
"[ComponentPointEvaluation] c = " << __c <<
"\n"
110 <<
"[ComponentPointEvaluation] d = " << b.polynomialDimensionPerComponent() <<
"\n"
111 <<
"[ComponentPointEvaluation] eval = " << b.evaluate( __pt ) <<
"\n"
112 <<
"[ComponentPointEvaluation] eval = " << b.basis()( __pt ) <<
"\n"
113 <<
"[ComponentPointEvaluation] bvals=" <<
ublas::project( b.evaluate( __pt ),
114 ublas::slice( __c, space_type::nComponents, b.polynomialDimensionPerComponent() ),
115 ublas::slice( 0, 0, 1 ) ) <<
"\n"
117 ublas::slice( __c, 0, 1 ),
118 ublas::slice( 0, 1, b.polynomialDimensionPerComponent() ) )
121 ublas::row( m, __c ) = ublas::column( b.basis()( __pt ), 0 );
123 this->setCoefficient( m );
140 template<
typename Space>
149 typedef typename super::space_type space_type;
150 typedef typename space_type::value_type value_type;
158 :
super( b, ublas::trans( b.derivate( i ).evaluate( __pt ) ) )
180 template<
typename Space>
183 public std::vector<Functional<Space> >
185 typedef std::vector<Functional<Space> > super;
189 typedef Space space_type;
190 typedef typename space_type::points_type points_type;
200 for ( uint16_type c = 0; c < __pts.size2(); ++c )
226 template<
typename Space>
229 public std::vector<Functional<Space> >
231 typedef std::vector<Functional<Space> > super;
235 typedef Space space_type;
236 typedef typename space_type::points_type points_type;
246 for ( uint16_type c = 0; c < __pts.size2(); ++c )
271 template<
typename Space>
274 public std::vector<Functional<Space> >
276 typedef std::vector<Functional<Space> > super;
280 typedef Space space_type;
281 typedef typename space_type::points_type points_type;
291 for ( uint16_type c = 0; c < __pts.size2(); ++c )
293 for (
int j = 0; j < __pts.size1(); ++j )
316 template<
typename Space>
319 public std::vector<Functional<Space> >
321 typedef std::vector<Functional<Space> > super;
325 typedef Space space_type;
326 typedef typename space_type::points_type points_type;
329 BOOST_STATIC_ASSERT( space_type::is_vectorial ||
330 space_type::is_tensor2 );
340 for ( uint16_type c = 0; c < space_type::nComponents; ++c )
342 for ( uint16_type pt = 0; pt < __pts.size2(); ++pt )
360 template<
typename Space>
369 typedef Space space_type;
370 typedef typename space_type::points_type points_type;
372 typedef typename super::value_type value_type;
376 BOOST_STATIC_ASSERT( space_type::is_vectorial ||
377 space_type::is_tensor2 );
381 node_type
const& __pt )
384 ublas::matrix<value_type> m( d.size(), b.basis().size() );
385 ublas::matrix<value_type> pts( __pt.size(), 1 );
386 ublas::column( pts, 0 ) = __pt;
388 for (
int i = 0; i < d.size(); ++i )
390 ublas::row( m, i ) = d( i ) * ublas::column( b.basis().evaluate( pts ), 0 );
393 this->setCoefficient( m );
404 template<
typename Space>
407 public std::vector<Functional<Space> >
409 typedef std::vector<Functional<Space> > super;
414 typedef Space space_type;
415 typedef typename space_type::points_type points_type;
417 typedef typename space_type::value_type value_type;
421 BOOST_STATIC_ASSERT( space_type::is_vectorial ||
422 space_type::is_tensor2 );
430 points_type
const& __pts )
433 for (
int j = 0; j < __pts.size2(); ++j )
435 ublas::matrix<value_type> m( ublas::zero_matrix<value_type>( d.size(), b.basis().size() ) );
437 for (
int i = 0; i < d.size(); ++i )
439 ublas::row( m, i ) = d( i ) * ublas::column( b.basis()( ublas::column( __pts, j ) ), 0 );
452 #endif // __FEELPP_FUNCTIONALS_HPP
functional associate with directional component point evaluation
Definition: functionals.hpp:405
Polynomial< Pset, Scalar > project(Pset const &pset, Func const &f, IM const &im)
Definition: operations.hpp:436
generate the functionals associated with point set
Definition: functionals.hpp:272
functional associate with directional component point evaluation
Definition: functionals.hpp:361
generate the functionals associated with point set
Definition: functionals.hpp:317
generate the functionals associated with point set
Definition: functionals.hpp:227
generate the functionals associated with point set
Definition: functionals.hpp:181
represents a linear functional
Definition: constrainedpolynomialset.hpp:36
generate the functional associated with a point evaluation
Definition: functionals.hpp:51
generate the functional associated with a point derivative
Definition: functionals.hpp:141
generate the functional associated with a point evaluation associated with a component ...
Definition: functionals.hpp:86