Re: Sqrt Tip

• To: mathgroup at smc.vnet.net
• Subject: [mg3035] Re: Sqrt Tip
• From: danl (Daniel Lichtblau)
• Date: Thu, 25 Jan 1996 03:20:05 -0500
• Organization: Wolfram Research, Inc.

```In article <4e4ne5\$6pj at dragonfly.wri.com> BobHanlon at aol.com writes:
> Mathematica version 2.2 on a Macintosh does not simplify the product
> of square roots:
>
> In[1]:=
> Sqrt[x] Sqrt[y] // Simplify
>
> Out[1]=
> Sqrt[x] Sqrt[y]
>
> As a result, it overlooks some straightforward simplifications.
> For example,
>
> In[2]:=
> Sqrt[1-x] Sqrt[1+x]/Sqrt[1 - x^2] // Simplify
>
> Out[2]=
> Sqrt[1 - x] Sqrt[1 + x]
> -----------------------
>                2
>      Sqrt[1 - x ]
>
> One would like to modify the definition of Sqrt to correct this as
> follows:
>
> In[3]:=
> Unprotect[Sqrt];
> Sqrt/: Sqrt[a_] Sqrt[b_] := Sqrt[a b];
> Protect[Sqrt];
>
> This generates the error message
>
> TagSetDelayed::tagnf:
>
> The reason that this failed is apparent if the FullForm of Sqrt is
> inspected
>
> In[6]:=
> Sqrt[x] // FullForm
>
> Out[6]//FullForm=
> Power[x, Rational[1, 2]]
>
> Sqrt is represented internally using Power.  Consequently, the
> modification must be made to Power rather than Sqrt.
>
> In[7]:=
> Unprotect[Power];
> Power/: Sqrt[a_] Sqrt[b_] := Sqrt[a b];
> Protect[Power];
>
> After, modifying Power we obtain the desired result:
>
> In[10]:=
> Sqrt[1-x] Sqrt[1+x]/Sqrt[1 - x^2] // Simplify
>
> Out[10]=
> 1
> _______________
>
> Bob Hanlon
> bobhanlon at aol.com
>
>

When you try this cahnge to Power on the input Sqrt[x]*Sqrt[x] you see
two reasons not to do it automatically. First, you get Sqrt[x^2] instead
of x, so it is not a simplification. Then there is the fact that the two
are not mathematically equivalent....

Daniel Lichtblau
Wolfram Research

==== [MESSAGE SEPARATOR] ====

```

• Prev by Date: Map Attractors in Mathematica
• Next by Date: Re: Sqrt Tip
• Previous by thread: Sqrt Tip
• Next by thread: Re: Sqrt Tip