Date: Mar 24, 2013 5:02 PM
Author: clicliclic@freenet.de
Subject: Re: Handling branch cuts in trig functions


"Nasser M. Abbasi" schrieb:
>
> I tried to simplify sqrt( sec(x)^2 ) but Mathematica will
> only do this by assuming x is inside one branch, say
> x>-Pi/2 && x<Pi/2 but Maple and maxima simplified it
> but they gave the answer is terms of |sec(x)| to take
> care of the sign which depends on the branch.
>
> Here is plot of sec(x)
>
> http://mathworld.wolfram.com/Secant.html
>
> -----------------------------
> In[37]:= Assuming[x>-Pi/2&&x<Pi/2,Simplify[Sqrt[Sec[x]^2]]]
> Out[37]= Sec[x]
>
> In[39]:= Assuming[x > Pi/2 && x < Pi, Simplify[Sqrt[Sec[x]^2]]]
> Out[39]= -Sec[x]
> ------------------------------
>
> If I just tell M that x>0, it will not simplify it.
>
> ------------------------------
> In[38]:= Assuming[x>0,Simplify[Sqrt[Sec[x]^2]]]
> Out[38]= Sqrt[Sec[x]^2]
> -------------------------------
>
> but Maple did it only with the x>0 assumption:
>
> ----------------------
> restart;
> simplify(sqrt(sec(x)^2)) assuming x::positive;
>
> 1
> --------
> |cos(x)|
> restart;
> simplify(sqrt(sec(x)^2));
> / 1 \
> csgn|------|
> \cos(x)/
> ------------
> cos(x)
> ---------------------------------
>
> On maxima 12.04.0
>
> sqrt(sec(x)^2);
> |sec(x)|
>
> I think now that answer to sqrt(sec(x)^2) should be
> |sec(x)| without need to give the branch. Since the only
> different is the sign. Or is there something else here?
>


Mathematica and Maple by default work in the complex plane, and must
therefore define ABS(z) = SQRT(RE(z)^2 + IM(z)^2), which agrees with
your SQRT(z^2) = SQRT(RE(z)^2 + 2*#i*RE(z)*IM(z) - IM(z)^2) only if
IM(z) = 0. So SQRT(SEC(z)^2) can be 'simplified' to ABS(SEC(z)) only
where SEC(z) = 1/COS(z) is real, that is for all real z only. Both
systems should be able to simplify SQRT(SEC(z)^2) - ABS(SEC(z)) to zero
if z is restricted to real.

Martin.