Re: Rule Writing for x and 1/x
- To: mathgroup at christensen.cybernetics.net
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg838] Re: [mg785] Rule Writing for x and 1/x
- From: Allan Hayes <hay at haystack.demon.co.uk>
- Date: Tue, 25 Apr 1995 02:19:24 -0400
D Reece writes
>Is there a way to write a single rule in MMA which will turn J/s
>into W and s/J into 1/W?
Here is one solution
In[1]:=
{s/J,J/s}//.{a:(s/J) |(J/s) :> (a/.J->s W)}
Out[1]=
1
{-, W}
W
But for complicated expressions you might find it better to use
AlgebraicRules, or my package AlgebraicRulesExtended (on
MathSource).
In[2]:=
{Sin[5 + a s^2/J],Sqrt[J]/s/ b, s/J, J/s}/.
AlgebraicRulesExtended[ J/s == W]
Out[2]=
a s Sqrt[s W] 1
{Sin[5 + ---], ---------, -, W}
W b s W
Or, if you prefer J to s
In[3]:=
{Sin[5 + a s^2/J],Sqrt[J]/s/ b, s/J, J/s}/.
AlgebraicRulesExtended[ J/s == W,{s,J}]
Out[3]=
a J W 1
{Sin[5 + ---], ---------, -, W}
2 b Sqrt[J] W
W
Allan Hayes
hay at haystack.demon.co.uk