[Reliable_computing] sinc function for intervals
Alan Eliasen
eliasen at mindspring.com
Sun Jul 7 04:31:35 CDT 2019
I thought I would take a few minutes and implement the sinc function
in my programming language Frink ( https://frinklang.org/ ) and then 2
hours later realized it wasn't going to be that simple.
As you all know, the sinc function is defined as:
sin[x]/x
where the value at x=0 is defined to be 1 because the limit converges
to 1 at this point. That's the only special thing about this function.
However, a version of this function over intervals has several issues:
1.) If the interval contains zero, the supremum of the result should
be exactly 1. (Or should it? See 3.)
2.) The function is non-monotonic, so we can't evaluate it at just
its endpoints. For example, if we evaluated the endpoints at 2 and 7,
we would miss a local minimum.
3.) This function is the embodiment of the "dependence problem" or
the "overestimation problem": that is, if a variable is used multiple
times in an expression, as it is in sin[x]/x, then its interval bound
may be larger than if each bound were computed naively. This has
implications on your interpretations of intervals. These are:
3.a.) An interval contains its result somewhere between its bounds,
but we're not sure where.
3.b) An interval contains *all* of the values between its bounds
simultaneously.
4.) One could write the Taylor series expansion of sin[x] as
sin[x] = x - x^3/3! + x^5/5! + x^7/7! ...
and the expansion of sinc[x] = sin[x]/x as:
sinc[x] = 1 - x^2/3! + x^4/5! + x^6/7! ...
which begs the question of the dependence problem by probably making
it much worse in most cases.
5.) A cool thing about the sinc[x] function is that it has its local
extrema at exactly the points that sinc[x] intersects cos[x]. Can you
leverage this with respect to the sinc function? Can your mathematical
system solve this exactly?
6.) When evaluating the bounds of sinc[x], and its endpoints, where
do you round down and round up?
THE BIG QUESTION: Has anyone done analysis of the sinc function with
respect to real intervals and provided opinion on the way it should be
treated? Because any implementation of this function is dependent on
your interpretation of 3.) and the "dependency problem."
Solving sinc[x] naively gives wider bounds than we may want in any
other case.
--
Alan Eliasen
eliasen at mindspring.com
https://futureboy.us/
More information about the reliable_computing
mailing list