Commit 2023-02-08 10:26 b018406a
View on Github →feat(analysis/calculus/special_functions): refactor bump functions (#17453)
Currently, we have satisfactory bump functions on inner spaces (equal to 1 on ball c r
and support equal to ball c R
), and less satisfactory bump functions on general finite-dimensional normed spaces (equal to 1 on a neighborhood of c
, with support a larger neighborhood of c
), where the latter are obtained from the former by composing with an arbitrary linear equiv with an inner product space called to_euclidean
. In particular, they have different names (bump_function_of_inner
and bump_function
) and whenever one wants to prove properties of bump_function
one has to juggle with the to_euclidean
.
We refactor bump functions to get a coherent theory, which is uniform over all normed spaces. We remove completely bump_function_of_inner
, and we make sure that bump_function c r R
is a smooth function equal to 1
on ball c r
and with support exactly ball c R
, on all normed spaces.
For this, we provide a typeclass has_cont_diff_bump
saying that a space has nice bump functions, and we instantiate it both on inner product spaces (using the old approach with a function constructed from the norm and from exp(-1/x^2)
), and on finite-dimensional normed spaces (where the bump functions have already been constructed by convolution in #18095).