MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Replacement according to the pattern



Hi Tomas,

the problem you have comes from: Rule: ->. You should use RuleDelayed: 

:>. Otherwise the differentiation is done before a has a value: 

D[HPL[a,u],u]. This is the reason that in your result HPL seems to have 

2 arguments insted of 4: compare (0,1) with ({0,0,0},1).

hope this helps, Daniel



tomuf at seznam.cz wrote:

> Hello,

> I wanted to parse a big expression and according to some rules

> integrate it term by term. For example, I wanted to replace symbol

> 

> HPL[{1, 1, 0}, u]

> 

> where HPL(list,variable) is function from package, with (note that

> this simplified example has no mathematical sense)

> 

> HPL[{1, 1, 0}, u] - D[HPL[{1, 1, 0}, u], u]

> 

> i.e. that function minus its derivative with respect to 'u'. I have

> loaded package which allows me to differentiate HPL. This works fine.

> But when I try to generalize this to handle all lists like {1,1,0} at

> the same time so that I don't have to type the rule for all

> combinations, the replacement doesn't work well. When I type:

> 

> in = HPL[{1, 1, 0}, u]

> in /. HPL[{1, 1, 0}, u] -> HPL[{1, 1, 0}, u] - D[HPL[{1, 1, 0}, u], u]

> in /. HPL[a_, u] -> HPL[a, u] - D[HPL[a, u], u]

> 

> the third line produces different result than the second line (the

> difference is in the term involving derivative). Does anyone know what

> could be wrong? Thanks in advance

> 

> Best regards,

> Tomas Prochazka

> 

> 




  • Prev by Date: Re: Replacement according to the pattern
  • Next by Date: Re: Replacement according to the pattern
  • Previous by thread: Re: Replacement according to the pattern
  • Next by thread: Re: Replacement according to the pattern