Re: symbol replace
- To: mathgroup at smc.vnet.net
- Subject: [mg51242] Re: symbol replace
- From: "Steve Luttrell" <steve_usenet at _removemefirst_luttrell.org.uk>
- Date: Sun, 10 Oct 2004 01:57:13 -0400 (EDT)
- References: <ck88ee$9pk$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
The problem is that your subscripted variable is a symbol which happens to have a subscript attached. What you want is for the whole symbol-with-subscript to be treated as a symbol. This is what the Notation package is for. There is another problem where you are using the symbol E which is reserved in Mathematica to represent the base of natural logarithms, which might cause you unexpected problems if you use it as a standard symbol. The following Cell Expression shows how to use the Notation package to solve your problem. Copy and paste { ... } into Mathematica. { Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"e", "*", SubscriptBox["e", "o"]}], "/.", RowBox[{"e", "\[Rule]", SubscriptBox["e", "o"]}]}]], "Input"], Cell[BoxData[ RowBox[{ SubscriptBox["e", "o"], " ", SubscriptBox[ RowBox[{"(", SubscriptBox["e", "o"], ")"}], "o"]}]], "Output"] }, Open ]], Cell[BoxData[ RowBox[{"<<", "Utilities`Notation`"}]], "Input"], Cell[BoxData[ RowBox[{"Notation", "[", RowBox[{ TagBox[ SubscriptBox["e", "o"], NotationBoxTag, TagStyle->"NotationTemplateStyle"], " ", "\[DoubleLongLeftRightArrow]", " ", TagBox["e0", NotationBoxTag, TagStyle->"NotationTemplateStyle"]}], "]"}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"e", "*", SubscriptBox["e", "o"]}], "/.", RowBox[{"e", "\[Rule]", SubscriptBox["e", "o"]}]}]], "Input"], Cell[BoxData[ SubsuperscriptBox["e", "o", "2"]], "Output"] }, Open ]] } Steve Luttrell "symbio" <symbio at h0tmail.com> wrote in message news:ck88ee$9pk$1 at smc.vnet.net... >I am facing 2 problems with Mathematica: > 1st problem) > With replace all command, when I use it with subscripts I get an > unintended > effect, this is what I do: > E * (Eo) /. E -> (Eo) > I intend to replace only E with Eo, but Mathematica instead replaces all > E's > with (Eo) and I get this instead: > (Eo) * (Eo)o > Please note the 'o' in Eo is supposed to be a subscript here and reads > Enot. > Can anyone please help? > here is the Mathematica code: > > In[1]:= > \!\(E\ *\ E\_0\ /. \ E -> \ E\_0\) > Out[1]= > \!\(\[ExponentialE]\_0\ \((\[ExponentialE]\_0)\)\_0\) > > 2nd problem) > I like to use descriptive names for my variables with Underscore to > separate > the names, it's really easier to read, but of course underscore is a > special > character in Mathematica unfortunately, so is there an alternative?? For > example, I like to use variable Dynamic_Energy_of_Stars_With_Sand = 123; > Is > there something else equally as obvious as Underscore that maybe used for > purpose of separting words in a variables names?? > > Thanks a lot for your help >