Re: Simplifying=> Sqrt[Meter^2/Second^2]

• Subject: [mg3005] Re: Simplifying=> Sqrt[Meter^2/Second^2]
• From: BobHanlon at aol.com
• Date: 22 Jan 1996 06:08:18 -0600
• Approved: usenet@wri.com
• Distribution: local
• Newsgroups: wri.mathgroup
• Organization: Wolfram Research, Inc.
• Sender: mj at wri.com

```In[1]:=
y = Sqrt[x^2 Meter^2/Second^2]

Out[1]=
2  2
Meter  x
Sqrt[---------]
2
Second

PowerExpand will handle this:

In[2]:=
y // PowerExpand

Out[2]=
Meter x
-------
Second

However, there are situations where you may not want PowerExpand
to apply to other elements of the expression.  Consequently, you
may want to teach Mathematica how to handle the square root of the
square of a positive number:

In[3]:=
Unprotect[Sqrt];
Sqrt/: Sqrt[x_^2    /; Positive[x] == True] := x;
Sqrt/: Sqrt[z_/x_^2 /; Positive[x] == True] :=
Sqrt[z]/x; (* must precede next definition *)
Sqrt/: Sqrt[z_ x_^2 /; Positive[x] == True] :=
x Sqrt[z];
Protect[Sqrt];

In[8]:=
Unprotect[Second];
Meter/:  Positive[Meter]  = True;
Second/: Positive[Second] = True;
Protect[Second];

In[12]:=
Sqrt[Meter^2/Second^2]

Out[12]=
Meter
------
Second

In[13]:=
Sqrt[x Meter^2/Second^2]

Out[13]=
Meter Sqrt[x]
-------------
Second

Note that the definitions are not applied retroactively:

In[14]:=
y

Out[14]=
2  2
Meter  x
Sqrt[---------]
2
Second

Mathematica does not try to recompute the Sqrt so it does not
apply the new definitions.

> From: justin at fns.net
To: mathgroup at smc.vnet.net
> Newsgroups: comp.soft-sys.math.mathematica
> Subject: Simplifying=> Sqrt[Meter^2/Second^2]
> Date: 18 Jan 1996 07:31:07 GMT
>
> Does anyone know if mathematica can be "taught" that an
> expression of the Sqrt[Meter^2/Second^2] is equivalent to and should
> be simplified to Meter/Second?
>