       Re: [Q] Implementing identities as rules

• To: mathgroup at smc.vnet.net
• Subject: [mg18678] Re: [mg18608] [Q] Implementing identities as rules
• From: BobHanlon at aol.com
• Date: Thu, 15 Jul 1999 01:45:58 -0400
• Sender: owner-wri-mathgroup at wolfram.com

```A definition is always applied.  Consequently, avoid the definition.  One
approach for symbolic manipulation is as follows:

Notebook[{
Cell[BoxData[
\(\(toEqn[a_\  -> \ b_]\  := \ \((a\  == \ b)\);\)\)], "Input"],

Cell[BoxData[
\(\(eqn1\  = \ f[x, \ y]\  == \ Exp[x^2\  + \ y^2];\)\)], "Input"],

Cell[CellGroupData[{

Cell[BoxData[
\(eqn2\  = \ D[eqn1, \ x]\)], "Input"],

Cell[BoxData[
RowBox[{
RowBox[{
SuperscriptBox["f",
TagBox[\((1, 0)\),
Derivative],
MultilineFunction->None], "[", \(x, y\), "]"}],
"==", \(2\ \[ExponentialE]\^\(x\^2 + y\^2\)\ x\)}]], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
\(eqn3\  = \
eqn2\  /. \ \((subst1\  = \
eqn1[\(\)]\  -> \ eqn1[\(\)])\)\)], "Input"],

Cell[BoxData[
RowBox[{
RowBox[{
SuperscriptBox["f",
TagBox[\((1, 0)\),
Derivative],
MultilineFunction->None], "[", \(x, y\), "]"}],
"==", \(2\ x\ f[x, y]\)}]], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
\(eqn4\  = \ D[eqn1, \ y]\)], "Input"],

Cell[BoxData[
RowBox[{
RowBox[{
SuperscriptBox["f",
TagBox[\((0, 1)\),
Derivative],
MultilineFunction->None], "[", \(x, y\), "]"}],
"==", \(2\ \[ExponentialE]\^\(x\^2 + y\^2\)\ y\)}]], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
\(eqn5\  = \ eqn4\  /. \ subst1\)], "Input"],

Cell[BoxData[
RowBox[{
RowBox[{
SuperscriptBox["f",
TagBox[\((0, 1)\),
Derivative],
MultilineFunction->None], "[", \(x, y\), "]"}],
"==", \(2\ y\ f[x, y]\)}]], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
\(\(Solve[{eqn3, \ eqn5}, \ eqn2[\(\)], \ eqn1[\(\)]]\)[\([1, \
1]\)]\  // \ toEqn\)], "Input"],

Cell[BoxData[
RowBox[{
RowBox[{
SuperscriptBox["f",
TagBox[\((1, 0)\),
Derivative],
MultilineFunction->None], "[", \(x, y\), "]"}], "==",
FractionBox[
RowBox[{"x", " ",
RowBox[{
SuperscriptBox["f",
TagBox[\((0, 1)\),
Derivative],
MultilineFunction->None], "[", \(x, y\), "]"}]}],
"y"]}]], "Output"]
}, Open  ]]
},
FrontEndVersion->"4.0 for Macintosh",
ScreenRectangle->{{0, 1024}, {0, 748}},
WindowSize->{520, 626},
WindowMargins->{{Automatic, 118}, {Automatic, 4}},
ShowCellLabel->False,
MacintoshSystemPageSetup->"\<\
00<0001804P000000]P2:?oQon82n at 960dL5:0?l0080001804P000000]P2:001
0000I00000400`<300000BL?00400 at 0000000000000006P801T1T00000000000
00000000000000000000000000000000\>"
]

Bob Hanlon

In a message dated 7/13/99 7:26:26 AM, kj0 at mailcity.com writes:

>During symbolic manipulations it often important to be able to use
>both sides of an identity or definition.  For example, let f be a
>function defined by
>
>In:= f = Function[{x, y}, Exp[x^2 + y^2]];
>
>Its partial derivative with respect to x is:
>
>In:= D[f[x, y], x]
>
>            2    2
>           x  + y
>Out= 2 E        x
>
>Now, I want to recast this result in the form 2 x f[x, y], i.e. I want
>to revert to the "left-hand side" of the original definition of f[x,
>y].  How does one do this in Mathematica?
>

```

• Prev by Date: Re: Binary System Problem
• Next by Date: Q: EPS fontsize
• Previous by thread: Re: [Q] Implementing identities as rules
• Next by thread: Re: [Q] Implementing identities as rules