proposal to change acosh



-----Raymond Toy wrote: -----

> I've done some of this for the elliptic
> functions.  One question: What should maxima
> do with sin(1 + 5.0*%i)? Leave it? Apply "numeric
> contagion" and pretend it was sin(1.0+5.0*%i) and
> evaluate numerically, even without the numer or float
> flags?

I suggest we adopt "numeric contagion."  One argument
in favor of this is that, for example, expand(integer + float * %i)
evaluates to float + %i * float.  There are also
mixed float and big float complex numbers; I suggest
that for evaluation of the exponential, log, and ...
functions, we pretend that:

   integer + float * %i == float(integer) + float * %i,
   float + integer * %i == float + float(integer) * %i,

   bfloat + float * %i == bfloat + bfloat(float) * %i,
   float  + bfloat * %i == bfloat(float) + bfloat * %i,

   bfloat + integer * %i == bfloat + bfloat(integer) * %i,
   integer + bfloat * %i == bfloat(integer) + bfloat * %i.

Since 1.0 * %i --> %i, numeric contagion has a problem:
cos(1 + 1.0 * %i) --> cos(1 + %i), yet cos(1 + 1.0001 * %i) -->
complex double float.  Sigh.

Notice that

  (%i95) expand((1.2 + 5.0b0 * %i)^2);
  (%o95) 1.2B1*%i-2.356B1

Thus my proposed rule float  + bfloat * %i == bfloat(float) + bfloat * %i.

>    Barton> (c) check for other branch cut inconsistencies.
>
>I think this is important and we should do that soon.

I'll work on this.

Barton