-------- Original Message --------
Subject: Re: Extended arithmetic
Date: Fri, 11 Oct 2002 09:48:56 +0200
From: Markus Neher <markus.neher(a)math.uni-karlsruhe.de>
To: Tatiana Zolo <zolo(a)cs.unipr.it>
References: <3CD8FA8A.97151456(a)cs.unipr.it>
Dear Tatiana,
I just ran across an old e-mail of yours, dating back to May 8. If
you're still interested in an answer (I think I have not sent an answer
so far), here are a few thoughts:
> In conclusion, we always have to deal with square roots or roots with
> higher index, and the elementary functions sin, cos: we need to evaluate
> them at
> points of complex plane which may be everywhere, including the negative
> real axis.
I see your point, but I'm afraid there is a basic problem for which I
have no good answer. There are three possible solutions to your problem,
but each gets you in trouble.
1. As we did in CoStLy, you can restrict function values to principal
values. Then log, sqrt and other functions are not defined everywhere in
the complex plane. E.g., log(Z)is not defined for Z = [-2,-1] + i[-1,1].
This is not what you want to have.
2. Evaluating a standard function, you can choose some arbitrary branch.
If you do this for log on the negative real axis, you can evaluate
log(Z) for the above example, but log(Z) is then a union of two
intervals. Thus, you have to write your function library in such a way,
that you can enter a list of argument interval and get another list of
intervals of function values, like
(W_1, W_2, W_3, W_4, W_5) = log( Z_1, Z_2, Z_3).
If you evaluate a composite function like log(Z) - sqrt(Z+1/Z), you
have to add lists of intervals, which finally may produce a large list
of intervals that contains few "true" solutions and many "ghost"
solutions.
3. You can compute sets of all solutions instead of principal function
values. Obviously, this won't work for log(log(Z)), as I pointed out in
a former e-mail. If you try it for sqrt, it may work, but there are even
more ghost solutions than with item 2. Here, you do not only have
multiple solutions on the negative real axis, but everywhere in the
complex plane.
Consider your example:
> We find the solution
>
> x_1 = -3/4+1/4*sqrt(9+4*(-9/2+sqrt(2443/108))^(1/3)-4*
> *(9/2+sqrt(2443/108))^(1/3))+1/2*sqrt((3/2-1/2*sqrt(9+4*(-9/2+
>
>
> +sqrt(2443/108))^(1/3)-4*(9/2+sqrt(2443/108))^(1/3)))^2-2*sqrt(4+
>
> +((-9/2+sqrt(2443/108))^(1/3)-(9/2+sqrt(2443/108))^(1/3))^2)-2*
> *(-9/2+sqrt(2443/108))^(1/3)+2*(9/2+sqrt(2443/108))^(1/3))
If you compute two roots for each "sqrt", then the total evaluation of
your expression yields dozens of solutions. I don't see a simple method
to identify the 4 "true" roots of your 4th order polynomial among the
ghost solutions.
If you have a solution to this problem, I'll be interested to hear about
it.
Best regards
Markus