Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: motion elementary functions



Dan,

I applaud your clever analysis.

Baker

Dan Zuras Intervals wrote:
Date: Tue, 13 Oct 2009 14:14:12 +0200
Subject: Re: motion elementary functions
From: "Hossam A. H. Fahmy" <hfahmy@xxxxxxxxxxxxxxxxxxxxxxx>
To: stds-1788 <stds-1788@xxxxxxxxxxxxxxxxx>


Juergen and P1788,


For pow, I prefer that we allow the full domain of RxR. For me, pow is the
most general form of sqr, pown, sqrt, powr, root, rSqrt, and compound.
Hence, I think that we should not prevent someone who wants to calculate
(-32)^(0.2)=-2 from doing just that in a simple fashion as pow(-32,0.2).

I don't like this. The user should call rootn(-32,5)
see rationale

Your method is valid if the programmers know the values at programming time
so that they can choose the function rootn instead of pow.

Furthermore, if for example the values (which become known only at run time)
are -32 and 2.2 we get, according to mathematics, pow(-32,2.2) = (-32)^{2.2}
= (-32)^{2} \times (-32)^{0.2} = (1024) \times (-2) = -2048.

Since the programmers have no a priori knowledge of the values they cannot
break the function calls to two and do
sqr(-32) \times rootn(-32,5)

In the rationale you say that you are trying to follow 754. I know that 754
defined the pow the same way you do and I objected during the voting period
on that issue for decimal FP for the same reasons given above. Other members
of the 754 committee, prefered to keep things similar to the previous
implementations of pow on binary FP.

The difference between binary and decimal is not trivial so let me explain
for those in 1788 who might not be familiar.

. . .

I argued during the voting period of 754 for the inclusion of special cases
for decimal in pow. As I said, other people opted for simplicity. Note that,
in 754, pow and the other functions in the same clause are "suggested" to
behave as described. P1788 may define them in a slightly different manner
and still be compliant with 754.

I prefer that 1788 defines pow to be the most generic case of raising a
number to a power and to allow all the possible mathematical cases.

Hope this explains my view better.
 --
Hossam A. H. Fahmy
Assistant Professor
Electronics and Communications Department
Cairo University
Egypt


	Folks,

	I generally agree with Hossam on this matter.

	We had great difficulty deciding on the correct definition
	of x^y for 754.  In the end, including all of pown, powr,
	& pow was the compromise I LEAST desired.  And I, like
	Hossam as I remember, argued for pow, the most general
	of the three.

	Still, in our new context we have the chance to correct
	this situation & once again go to a single well defined
	x^y.  It depends on how we act in undefined regions of a
	function.

	You see the problem is that when x < 0 the function x^y
	is defined at only countably many discrete points.  In
	a floating-point domain with radix 2 or 10 there are
	none for r = 2 & only finitely many for r = 10.

	But while our system of discourse has a radix for its
	endpoints, the sets themselves are contiguous subsets
	of the reals & therefore HAVE no radix.

	So we are back to a function that has countably many
	answers that are dense in the Reals.

	If I am not mistaken, those points can be written as
	those x & y such that: x = a^d/b^d < 0, GCD(a,b) = 1,
	y = c/d, & GCD(c,d) = 1.  Then x^y = (a/b)^c.

	Again, if I'm not mistaken, this function is even
	continuous in both arguments when confined to these
	points.

	(With a possible sign ambiguity due to the fact that
	this is really the principal valued Real projection
	of a countably many infinitely valued function in the
	complex numbers.  I can go into details if it becomes
	necessary.)

	It can even be evaluated efficiently as -exp(y*log(|x|).

	Thus, an interval xx^yy can be well defined everywhere
	if we are willing to return answers in the case where
	at least part of xx < 0.  That is, we can return a
	consistent & continuous interval as a result if we
	are willing to do that in a sub domain in which the
	function is UNdefined everywhere EXCEPT for a dense
	& countable subset of points.

	So it seems to me that the answer to this question
	hinges on how we answer the decoration question & its
	implications for the evaluation of functions at least
	partially outside their domain of definition.

	Well, that's my $0.02 on the subject.

	Except for please, please, PLEASE, let's only have
	ONE function.  And make it a good one. :-)

	Yours,

				Dan