On Sat, Dec 6, 2014 at 1:01 PM, Aaron Meurer <[email protected]> wrote:
> Something that I'm not sure about with representing functions as
> multivalued is, how do you represent arbitrary Riemann surfaces.
>
> Another question is computational. How do you compute the surfaces in
> general (say even for a limited class of expressions, like algebraic
> functions), and how do you make cuts in a consistent manner?
>
> The only thing I can think of is to write everything in terms of exp()
> and log() and parameterized integers, e.g., sqrt(x) should really be
> exp((log(x) + 2*pi*I*n)/2) for integer. This basically boils down to
> sqrt(x) = +/- sqrt(x). Each rational power has to have a distinct
> parameterized integer. This should lead to correct and general results

Exactly. And sometimes you can absorb the 2*pi*n factors into the
multivalued function itself, for example you can just write:

log(a*b) = log(a) + log(b)

However, then, when you subtract this, you need to write this as:

log(a*b) - log(a) - log(b) = 2*pi*I*n

Also, when you evaluate things numerically, you need to keep the
2*pi*n factors around, for example in the above for a=b=-1, you need
to evaluate numerically as:

LHS: log((-1)*(-1)) = log(1) = 0 + 2*pi*I*n
RHS: log(-1) + log(-1) = (I*pi + 2*pi*I*k) + (I*pi + 2*pi*I*l) = 2*pi*I*(1+k+l)

So the multivalues on LHS and RHS are obviously equal. But if you
evaluate without the 2*pi*n factors, you get 0 = 2*pi*I, which is not
equal to each other.

> if you do it correctly, but I don't really see how to compute useful
> things from this without getting huge expressions with tons of
> parameterized integers.

I think there is probably a way to simplify things in many cases, but
it seems it is much more complicated than just using single values on
a principal branch, as we do in sympy currently.

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CADDwiVCu6r1FD61VA1mcvpVi1wS30w%3D%3DCHvZ44ALSMJzdApb-g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to