![]() |
Reference documentation for deal.II version 9.3.3
|
Functions | |
| template<int dim> | |
| void | taylor_estimate_function_bounds (const Function< dim > &function, const BoundingBox< dim > &box, std::pair< double, double > &value_bounds, std::array< std::pair< double, double >, dim > &gradient_bounds, const unsigned int component=0) |
| void FunctionTools::taylor_estimate_function_bounds | ( | const Function< dim > & | function, |
| const BoundingBox< dim > & | box, | ||
| std::pair< double, double > & | value_bounds, | ||
| std::array< std::pair< double, double >, dim > & | gradient_bounds, | ||
| const unsigned int | component = 0 |
||
| ) |
Estimate bounds on the value and bounds on each gradient component of a Function,
, over a BoundingBox, by approximating it by a 2nd order Taylor polynomial starting from the box center.
Each lower and upper bound is returned as a std::pair<double, double>, such that the first entry is the lower bound,
, and the second is the upper bound,
, i.e.
.
The function value, gradient, and Hessian are computed at the box center. The bounds on the value of the function are then estimated as
, where
.
Here,
is half the side length of the box in the
th coordinate direction, which is the distance we extrapolate. The bounds on the gradient components are estimated similarly as
, where
.
If the function has more than 1 component the component parameter can be used to specify which function component the bounds should be computed for.
Definition at line 26 of file function_tools.cc.