[Date Index]
[Thread Index]
[Author Index]
Re: Subscript[x, y] and the Symbol x
*To*: mathgroup at smc.vnet.net
*Subject*: [mg33804] Re: Subscript[x, y] and the Symbol x
*From*: Hartmut Wolf <hartmut.wolf at t-systems.com>
*Date*: Tue, 16 Apr 2002 03:52:05 -0400 (EDT)
*Organization*: T-Systems GEI
*References*: <a93b61$pi2$1@debis.com>
*Sender*: owner-wri-mathgroup at wolfram.com
Curt Fischer schrieb:
>
> Dear Mathgroup:
>
> The Subscript function in Mathematica has no built-in meaning. What
> definition can I give this function to allow me to use Subscript[x,y] as
> a "stand-alone" symbol that is completely distinct from the Symbol x or
> the Symbol y? For example:
>
> In[1]:=
> \!\(f[x_, y_] := x\_y\ + \ x + y\)
>
> In[2]:=
> f[2,2]//FullForm
>
> Out[2]//FullForm=
> Plus[4,Subscript[2,2]]
>
> This is exactly what I don't want. Instead I want
> Plus[4,Subscript[x,y]]. Is there a way to do this?
>
> Thanks for your help.
> --
> Curt Fischer
> Tokyo Institute of Technology
> Dept. of Bioengineering
Curt,
to treat subscripted expressions as symbols best use the function Symbolize from
the notation package:
In[5]:= << Utilities`Notation`
assuming your function is something like
In[9]:= f[s_Symbol, x_, y_] := s + x + y
then first symbolize your subscripted expression by first entering
Symbolize[\[Placeholder]]
from -- and that is important! -- the Notation Palette. At placeholder enter x
then ctrl+shift+_ then y then ctrl+space and evaluate. You get something like
this
In[12]:=
\!\(\*
RowBox[{"Symbolize", "[",
TagBox[\(x\_y\),
NotationBoxTag,
TagStyle->"NotationTemplateStyle"], "]"}]\)
What is important is the NotationBoxTag. If you just enter
In[11]:=
\!\(Symbolize[x\_y]\)
things wouldn't work. After this prelude, you can use x\_y as a symbol wherever
you like:
In[13]:=
\!\(f[x\_\(\(y\)\(\ \)\), 2, 3]\)
Out[13]=
\!\(5 + x\_y\)
Of course there is no point in this function f, you may simply enter
In[15]:=
\!\(x\_y + 2 + 3\)
Out[15]=
\!\(5 + x\_y\)
or, if you like
In[16]:=
\!\(x\_y = 2 + 3\)
Out[16]=
5
In[17]:=
\!\(x\_y\)
Out[17]=
5
--
Hartmut Wolf
Prev by Date:
**Passing arguments and pattern matching**
Next by Date:
**Making Tensor operations more efficient**
Previous by thread:
**Re: Subscript[x, y] and the Symbol x**
Next by thread:
**RE: Difference Equations**
| |