On 8/4/07, Dan Piponi <[EMAIL PROTECTED]> wrote: > > On 8/4/07, Albert Y. C. Lai <[EMAIL PROTECTED]> wrote: > > There is no reason to expect complex ** to agree with real **. > > There's every reason. It is standard mathematical practice to embed > the integers in the rationals in the reals in the complex numbers and > it is nice to have as many functions as possible respect that > embedding.
A example I have seen before that illustrates some the difficulties with preserving such behaviour is (-1)^(1/3). Of course, taking the nth root is multi-valued, so if you're to return a single value, you must choose a convention. Many implementations I have seen choose the solution with lowest argument (i.e. the first solution encounted by a counterclockwise sweep through the plane starting at (1,0).) With this interpretation, (-1)^(1/3) = 0.5 + sqrt(3)/2 * i. If you go with the real solution (-1) you might need to do so carefully in order to preserve other useful properties of ^, like continuity. Steve
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
