Re: What is your philosophy? Tracking or Static?
> From: "Corliss, George" <george.corliss@xxxxxxxxxxxxx>
> To: Dan Zuras Intervals <intervals08@xxxxxxxxxxxxxx>
> CC: "Corliss, George" <george.corliss@xxxxxxxxxxxxx>, Ralph Baker Kearfott
> <rbk@xxxxxxxxxxxx>, "<stds-1788@xxxxxxxxxxxxxxxxx>"
> <stds-1788@xxxxxxxxxxxxxxxxx>
> Subject: Re: What is your philosophy? Tracking or Static?
> Date: Wed, 25 May 2011 12:37:51 +0000
>
> Dan,
>
> Thank you for the useful characterization. I, too, began assuming tracking=
> , but I am coming more to the static view.
>
> Early in AD, a frequently cited difficulty was scaling:
>
> x is a vector
> s = max(|x|)
> x = x / s // Normalize
> y = lots of computations
> y = y * s // Rescale back
>
> Is y a differentiable function of x? AD is forced to assume not. Interval=
> s can help decide this question more precisely, but the analogy is whether =
> we care about the history or only the result.
>
> Or, suppose
> x is a scalar
> f(x) = sign(x)
> y = 0 * f(x)
>
> Is y a continuous function of x?
>
> I am becoming a static-ist.
>
> George
>
Two good examples for this discussion, George.
The former, which is differentiable or not depending on the
nature of the computations. And the latter which (I presume)
is everywhere zero no matter the input. (Although I'm still
a little unclear as to things like that on infinite intervals.)
So what would these functions look like under either tracking
or static interpretation for operands like x = ([0,0],[0,0])
versus x = ([0,0],[0,1]) for the first problem & x = [-1,1]
for the second? Or the inputs of your choice? Or the
functions of your choice, for that matter?
Then, having explored that, which philosophy is better for us?
As you academics say: Justify your answer.
Dan