|
[Date Index]
[Thread Index]
[Author Index]
Re: Getting the Derivative of an HoldForm Expression
- To: mathgroup at smc.vnet.net
- Subject: [mg127895] Re: Getting the Derivative of an HoldForm Expression
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Thu, 30 Aug 2012 04:10:47 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <k16jfv$bep$1@smc.vnet.net> <k1a28l$icg$1@smc.vnet.net> <k1i0nc$4n5$1@smc.vnet.net>
On 28/08/2012 09:49, nitgun at gmail.com wrote:
> Thank you for your reply.
> Unfortunately I made my example a bit confusing. Because actually I need the replacement the other way round. I want to replace common subexpressions. Some occur after some fancy calculations and others I can avoid by substituting right at the beginning (as my given example). That's why I want to include the terms for the replacement in the notebook as well so that others can understand the calculations. Otherwise nobody would know what a[t] stands for, unless he finds the replacement in the end. But maybe it works when I put it into such a replacement list.
>
Replacing common subexpressions will work too. For example:
In[4]:= a[2 t] + b[t] + c[2 t] + d[ t] /. c[x_] + a[x_] -> g[x]
Out[4]= b[t] + d[t] + g[2 t]
Some cases are trickier
In[5]:= (a + b)/Sqrt[c + d] /. Sqrt[c + d] -> g[c, d]
Out[5]= (a + b)/Sqrt[c + d]
You sometimes need to know a bit about how expressions are represented
internally in Mathematica:
In[6]:= (a + b)/Sqrt[c + d] /. (c + d)^p_. -> g[c, d]^(2 p)
Out[6]= (a + b)/g[c, d]
Note that Mathematica is automatically aware that additions and
subtractions can be shuffled into any order (likewise for
multiplications), and that divisions and roots are expressed internally
in power notation.
Assignments are far more useful inside pieces of actual code, but they
can be quite dangerous in hand explorations of equations, because a left
over assignment (say m=1) messes up expressions like (m c^2), and in a
large expression that might not be instantly obvious!
Replacement rules are extremely powerful, and it is well worth exploring
them in depth.
David Bailey
http://www.dbaileyconsultancy.co.uk
Prev by Date:
What is this shorthand notation?
Next by Date:
Re: Luke's list of mathematica questions
Previous by thread:
Re: Getting the Derivative of an HoldForm Expression
Next by thread:
Re: Getting the Derivative of an HoldForm Expression
|