Re: preclude mathematical meaning of OverBar etc
- To: mathgroup at smc.vnet.net
- Subject: [mg67402] Re: preclude mathematical meaning of OverBar etc
- From: Peter Pein <petsie at dordos.net>
- Date: Thu, 22 Jun 2006 06:21:17 -0400 (EDT)
- References: <e7aos7$922$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Martin Schoenecker schrieb:
> Dear group,
>
> I would like to use OverBar, SuperStar etc. to define characteristic or
> modified values for the same, "plain" variable. Unfortunately, as every
> expression, they become a mathematical meaning which is not what I
> intend, e.g. for a substitution:
>
> test
>
> In[19]:=
> subsfun = u -> Function[{x, t},
> OverHat[l]*OverTilde[u][
> OverTilde[x][x], OverTilde[t][
> t]]]
> subsvar = OverTilde[t] ->
> Function[t, t/OverHat[t]]
> resubsvar = t/OverHat[t] ->
> OverTilde[t]
>
> Out[19]=
> u -> Function[{x, t}, OverHat[l]*
> OverTilde[u][OverTilde[x][x],
> OverTilde[t][t]]]
>
> Out[20]=
> OverTilde[t] -> Function[t,
> t/OverHat[t]]
>
> Out[21]=
> t/OverHat[t] -> OverTilde[t]
>
> In[22]:=
> D[u[x, t], t]
> % /. subsfun
> % /. subsvar
> % /. resubsvar
>
> Out[22]=
> Derivative[0, 1][u][x, t]
>
> Out[23]=
> OverHat[l]*Derivative[1][
> OverTilde[t]][t]*
> Derivative[0, 1][OverTilde[u]][
> OverTilde[x][x], OverTilde[t][t]]
>
> Out[24]=
> OverHat[l]*(1/OverHat[t] -
> (t*Derivative[1][OverHat][t])/
> OverHat[t]^2)*
> Derivative[0, 1][OverTilde[u]][
> OverTilde[x][x], t/OverHat[t]]
>
> Out[25]=
> OverHat[l]*(1/OverHat[t] -
> (t*Derivative[1][OverHat][t])/
> OverHat[t]^2)*
> Derivative[0, 1][OverTilde[u]][
> OverTilde[x][x], OverTilde[t]]
>
> where I get the derivative of the OverHat term, which is not desired.
> How to overcome this? Is there another possibility than to use
> Symbolize with Utilities`Notation`? Thanks for any hints,
>
> Martin
>
Hi Martin,
either do a SetAttributes[#,Constant]&/@{OverHat,OverBar} before calling D[] or use Dt with option Constants:
Dt[u[x, t] /. subsfun /. subsvar, t, Constants ->
{x, OverTilde, OverHat}] /. resubsvar
(OverHat[l]*Derivative[0, 1][OverTilde[u]][OverTilde[x][x], OverTilde[t]])/OverHat[t]