Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: Replacing an expression by an expression

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

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
FullForm[-(c(-a - b) )] is  Times[-1, Plus[Times[-1, a], Times[-1, b]],

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 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