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?
>
> Thanks in Advance
> Justin at fns.net
> UF Mechanical Engineering