MathGroup Archive 1996

[Date Index] [Thread Index] [Author Index]

Search the Archive

Sqrt Tip

  • To: mathgroup at smc.vnet.net
  • Subject: [mg3032] Sqrt Tip
  • From: BobHanlon at aol.com
  • Date: Wed, 24 Jan 1996 03:34:42 -0500

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

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


  • Prev by Date: Re: Readability suggestions
  • Next by Date: Sqrt Tip
  • Previous by thread: Temperature conversion
  • Next by thread: Sqrt Tip