[Date Index] [Thread Index] [Author Index]
Re: Re-defining Log over it's branch cut
Hello.Carl Woll's solution is very smart. Limit[z^(s - 1) /. z -> r Exp[-I (Pi -eps)], eps -> 0, Assumptions -> r > 0] E^((-1 + s)*((-I)*Pi + Log[r])) But I guess he used Mathematica 6, since in 5.2 I get In:= Limit[z^(s - 1) /. z -> r*Exp[(-I)*(Pi - eps)], eps -> 0, Assumptions - > r > 0] Out= (-r)^(-1 + s) So let's see what can I do (until upgrading!). In:= PowerExpand[Limit[z^(s - 1), z -> r*Exp[e*I]]] % /. E^(b_Times) :> ComplexExpand[E^b] TrigToExp[% /. e -> Pi] TrigToExp[%% /. e -> -Pi] Out= E^(I*e*(-1 + s))*r^(-1 + s) Out= r^(-1 + s)*(Cos[e*(-1 + s)] + I*Sin[e*(-1 + s)]) Out= E^(I*Pi*(-1 + s))*r^(-1 + s) Out= r^(-1 + s)/E^(I*Pi*(-1 + s)) Everything is how you desired! Regards Dimitris / chuck009 : > Hello Dimitris, > > Is there a way to have Mathematica do this substitution internally when evaluating powers such as z^s? The reason I ask is that I'm working on the contour integral expressions for Zeta and Polylog which use the Hankel contour. This contour requires the substitutions z=rExp[pi i] and z=r Exp[-pi i]. However, Mathematica assigns the "standard convention" of pi to the argument for both cases. For example if I specify: > > In:= > N[z^(s-1)/.z->r Exp[-Pi I]] > > Mathematica return an answer that is actually: > > Exp[(s-1)(Log[r]+pi i] > > and not: > > Exp[(s-1)(Log[r]-pi i] > > > I realize that's the standard convention. Just would make my code a little less messy if I didn't have to do the expansion myself and "manually" insert the -pi i factor.