[Reliable_computing] sinc function for intervals
BrianK at TargetedConvergence.com
Sun Jul 7 10:07:32 CDT 2019
You know where the peaks are: 0, n * 2pi + pi/2 for positive n, n * 2pi - pi/2 for negative n
You know where the valleys are: n * 2pi - pi/2 for positive n, n * 2pi + pi/2 for positive n
(I think I got those right… but if not, it is something like that.)
And you know the largest magnitude extrema will be the ones closest to 0.
So, to evaluate sinc(x), you evaluate at the endpoints and at the extrema within the endpoints that are closest to zero.
That avoids/handles the dependency problem for this case.
> On Jul 7, 2019, at 4:31 AM, Alan Eliasen <eliasen at mindspring.com> wrote:
> 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:
> 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
> 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
> reliable_computing mailing list
> reliable_computing at lists.louisiana.edu
More information about the reliable_computing