The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » sci.math.* » sci.math.symbolic

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Handling branch cuts in trig functions
Replies: 9   Last Post: Mar 26, 2013 4:54 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ] Topics: [ Previous | Next ]
Richard Fateman

Posts: 1,539
Registered: 12/7/04
Re: Handling branch cuts in trig functions
Posted: Mar 24, 2013 10:28 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

They are all wrong.

(and I guess you are wrong, also :) )

Choosing the sign of x in sqrt( x^2 ) does not tell a
mathematician which branch of the sqrt to choose.

Sqrt(4) has two values, -2 and 2. Corresponding to the
roots of z^-4=0

Knowing the history of that 4 --- whether it was originally created
by 2^2 or (-2)^2 -- does not tell you what branch of the square root
to take.

Now some may say that the sqrt() notation applied to a positive
real number "means" the positive real square root. Well, who can
tell what someone who writes that down, really means. But if a
computer program produces sqrt as the result of some algebraic
computation, what does it mean then?

And whatever decision you make should generalize to cube roots (etc),
as well as complex numbers.

|x| is just another, occasionally convenient but
generally incorrect, hack for sqrt(x^2).
To show that it is wrong, just draw a graph and see it
is not differentiable. Or consider the meaning of sqrt given
by a quadratic equation...

(z^2-y)=0 has (two) solutions z=sqrt(y) and z=-sqrt(y). Note that
EITHER sqrt(y) works because we carry both solutions along with the

How about (z^2-x^2)=0 then? z=|x| and z=-|x| are not the same

Furthermore |x| violates some really fundamental algebra. Like
we all know that a*b=0 means either a=0 or b=0. We use it for
solving equations. What do we do if it is false, sometimes?

Now draw a graph of y=x-|x|. Is it zero? No, because for negative x,
y=-2x, although for x>=0, it looks like y=0. Similarly, draw a draw
of y=x+|x|. It too is non-zero. Yet (x-|x|)*(x+|x|) =
x^2 - |x|^2 = 0.
(And no,that last statement is not flawed by branch cut interpretations
or anything else). So we have a*b=0 .

Now it is possible to choose SOME root for radical expressions and
try to do it in a consistent manner, but that doesn't mean the answer
is the desired one. RADCAN in Maxima does this. Computations with
RootOf( ) expressions can solve some problems, but clumsily.
Using assumptions on the domain of the argument to determine a
branch cut of the sqrt may sometimes be useful in "steering" the
course of questionable transformations, but you should not be
under the illusion that it is mathematically complete or even
generally correct.


On 3/24/2013 4:39 AM, Nasser M. Abbasi wrote:
> On 3/24/2013 5:26 AM, G. A. Edgar wrote:
>> In article <kimdsn$lj3$>, Nasser M. Abbasi
>> <> wrote:

>>> I think now that answer to sqrt(sec(x)^2) should be
>>> |sec(x)| without need to give the branch.

>> That answer is incorrect for complex x ... so to get that answer in
>> Maple, you must assume x is real.
>> simplify(%) assuming x::real;

> But I am using Maple 17?
> -----------------------------------
> ans:=simplify(sqrt(sec(x)^2)) assuming x::positive;
> 1
> --------
> |cos(x)|
> simplify(abs(sec(x))- ans);
> 0
> -------------------------------------
> Unless x::positive implies x::real (since positive does
> not apply to complex numbers). Is this what you meant?
> I get same result using x::positive or x::real.
> So Maxima was wrong then:
> sqrt(sec(x)^2);
> |sec(x)|
> No assumptions!
> thanks,
> --Nasser

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.