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: > Tag Sqrt not found in Sqrt[a_] Sqrt[b_]. > > 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] ====