MathGroup Archive 2005

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

Search the Archive

Re: Replacing an expression by an expression

  • To: mathgroup at smc.vnet.net
  • Subject: [mg55645] Re: Replacing an expression by an expression
  • From: dh <dh at metrohm.ch>
  • Date: Fri, 1 Apr 2005 05:36:17 -0500 (EST)
  • References: <d2g6d7$f7p$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi Carlos,
in your example yout try to match -(..(-x32-x43)+..) by (..((x32+x43)-..)
ReplaceAll replaces pattern, not mathematical objects. Further, what you 
see is not exactly the same what Mathematica uses. "FullForm[expr]" 
shows you what Mathematica is using.
Therefore, this will not work:
-(c(-a-b)) /. (a+b)->w
because
FullForm[-(c(-a - b) )] is  Times[-1, Plus[Times[-1, a], Times[-1, b]],

and
FullForm[a+b]  is Plus[a, b]
You see the Pattern Plus[a,b] does not appear in the above expression.

Sincerely, Daniel



carlos at colorado.edu wrote:
> I have a 8 x 8 symbolic matrix B of complicated entries.
> Several partial expressions, however, can be simplified. Sample:
> 
> rep= {(J12*x14-J11*y14)*(J12*(x32+x43)-J11*(y32+y43)) -> A0*(A1-A0)};
> 
> The left expression appears verbatim in entry B[[1,1]], which is
> 
> -(L21*(J12*x14-J11*y14)*(J12*(-x32-x43)+J11*(y32+y43)))/
> (16*A412*J*(J11^2+J12^2))
> 
> But when I say B=B/.rep, nothing happens.  For a few entries I could do
> cut and paste by hand:
> 
> -(L21*  A0*(A1-A0)    )/
> (16*A412*J*(J11^2+J12^2))
> 
> But it get tedious and error prone for 64.  Any suggestions on how to
> get Mathematica to do the replacement?
> 


  • Prev by Date: Re: Why are the functions different?
  • Next by Date: Re: Replacing an expression by an expression
  • Previous by thread: Re: Need to be able to diff 2 pieces of text.
  • Next by thread: Re: Replacing an expression by an expression