187 static T
derivProd(
const std::vector<T> &zeros,
const int &order,
const T &x);
240 #ifndef GISMO_BUILD_LIB
241 #include GISMO_HPP_HEADER(gsQuasiInterpolate.hpp)
static int greatestSubInterval(const gsKnotVector< T > &knots, const int &posStart, const int &posEnd)
This function finds the greatest knot interval in a given range in a knot vector. ...
Definition: gsQuasiInterpolate.hpp:376
static void Taylor(const gsBasis< T > &bb, const gsFunction< T > &fun, const int &r, gsMatrix< T > &result)
A quasi-interpolation scheme based on the tayor expansion of the function to approximate. See Theorem 8.5 of "Spline methods (Lyche Morken)" Theorem: (Lyche, Morken: Thm 8.5, page 178) Let and be the degree and knotvector of the quasi-interpolant, respectively. Futhermore let be an integer with and let be a number in for . Consider the quasi-interpolant and . Then reproduces all polynomials of degree and reproduces all splines in .
Definition: gsQuasiInterpolate.hpp:103
static void computeWeights(const gsMatrix< T > &points, const gsKnotVector< T > &knots, const int &pos, gsMatrix< T > &weights)
To compute the control points of the quasi-interpolant one uses the function computeControlPoints. The weights can be computed as , for , where for a polynomial , where is the set of all permutations of the intergers .
Definition: gsQuasiInterpolate.hpp:320
static void distributePoints(T a, T b, int n, gsMatrix< T > &points)
Compute a number of equally distributed points in a given interval . You get a list of points ...
Definition: gsQuasiInterpolate.hpp:311
static gsMatrix< T > computeControlPoints(const gsMatrix< T > &weights, const gsFunction< T > &fun, const gsMatrix< T > &xik)
The quasi-interpolant is a spline function, in particular a linear combination of some controlpoints ...
Definition: gsQuasiInterpolate.hpp:367
#define index_t
Definition: gsConfig.h:32
A function from a n-dimensional domain to an m-dimensional image.
Definition: gsFunction.h:59
static void EvalBased(const gsBasis< T > &bb, const gsFunction< T > &fun, const bool specialCase, gsMatrix< T > &result)
A quasi-interpolation scheme based on the evaluation of the function at certain points. See sections 8.2.1, 8.2.2, 8.2.3 and Theorem 8.7 or Lemma 9.7 of "Spline methods (Lyche Morken)". The formulas for the special cases (degrees 1, 2 and 3) look like this: where the coefficients for are given as: for degree 1, where .
Definition: gsQuasiInterpolate.hpp:156
Class representing a (scalar) hierarchical tensor basis of functions .
Definition: gsHTensorBasis.h:74
static void Schoenberg(const gsBasis< T > &b, const gsFunction< T > &fun, gsMatrix< T > &result)
A quasi-interpolation scheme based on Schoenberg Variation Diminishing Spline Approximation. See Exercise 9.1 of "Spline methods (Lyche Morken)".
Definition: gsQuasiInterpolate.hpp:414
Quasi-interpolation operators.
Definition: gsQuasiInterpolate.h:36
Provides forward declarations of types and structs.
static T derivProd(const std::vector< T > &zeros, const int &order, const T &x)
Compute the derivative of a certain order of a normalized polynomial (leading coefficient is 1) defin...
Definition: gsQuasiInterpolate.hpp:276
Class for representing a knot vector.
Definition: gsKnotVector.h:79
A basis represents a family of scalar basis functions defined over a common parameter domain...
Definition: gsBasis.h:78