**NAME**

riesz- approximate a Riesz representer

**SYNOPSYS**

template <class Function> field riesz (const space& Xh, const Expr& expr, quadrature_option_type qopt = default_value); template <class Function> field riesz (const space& Xh, const Expr& expr, const geo& domain, quadrature_option_type qopt = default_value);

**NOTE**

This function has been now suppersetted by theintegratefunction see integrate(4). The old-fashioned code: field l1h = riesz (Xh, f); field l2h = riesz (Xh, f, "boundary"); writes now: test v (Xh); field l1h = integrate (f*v); field l2h = integrate ("boundary", f*v); Therieszfunction is still present for backward compatibility purpose.

**DESCRIPTION**

Letfbe any continuous function, its Riesz representer in the finite element spaceXhon the domainOmegais defind by: / | dual(lh,vh) = | f(x) vh(x) dx | / Omega for allvhinXh, wheredualdenotes the duality betweenXhand its dual. AsXhis a finite dimensional space, its dual is identified asXhand the duality product as the Euclidian one. The Riesz representer is thus thelhfield ofXhwhere its i-th degree of freedom is: / | dual(lh,vh) = | f(x) phi_i(x) dx | / Omega where phi_i is the i-th basis function inXh. The integral is evaluated by using a quadrature formula. By default the quadrature formule is the Gauss one with the order equal to2*k-1where $kis the polynomial degree inXh. Alternative quadrature formula and order is available by passing an optional variable to riesz. The functionrieszimplements the approximation of the Riesz representer by using some quadrature formula for the evaluation of the integrals. Its argument can be any function, class-function or linear or nonlinear expressions mixing fields and continuous functions.

**EXAMPLE**

The following code compute the Riesz representant, denoted bylhof f(x), and the integral of f over the domain omega: Float f(const point& x); ... space Xh (omega_h, "P1"); field lh = riesz (Xh, f); Float int_f = dual(lh, 1);

**OPTIONS**

An optional argument specifies the quadrature formula used for the computation of the integral. The domain of integration is by default the mesh associated to the finite element space. An alternative domaindom, e.g. a part of the boundary can be supplied as an extra argument. This domain can be also abandassociated to the banded level set method.

**IMPLEMENTATION**

template <class T, class M, class Function> field_basic<T,M> riesz ( const space_basic<T,M>& Xh, const Function& f, const quadrature_option_type& qopt = quadrature_option_type(quadrature_option_type::max_family))

**IMPLEMENTATION**

template <class T, class M, class Function> field_basic<T,M> riesz ( const space_basic<T,M>& Xh, const Function& f, const geo_basic<T,M>& dom, const quadrature_option_type& qopt = quadrature_option_type(quadrature_option_type::max_family))

**IMPLEMENTATION**

template <class T, class M, class Function> field_basic<T,M> riesz ( const space_basic<T,M>& Xh, const Function& f, std::string dom_name, const quadrature_option_type& qopt = quadrature_option_type(quadrature_option_type::max_family))

**IMPLEMENTATION**

template <class T, class M, class Function> field_basic<T,M> riesz ( const space_basic<T,M>& Xh, const Function& f, const band_basic<T,M>& gh, const quadrature_option_type& qopt = quadrature_option_type(quadrature_option_type::max_family))

**SEE** **ALSO**

integrate(4)