Re: More robust pattern based replacement rules?
- To: mathgroup at smc.vnet.net
- Subject: [mg120778] Re: More robust pattern based replacement rules?
- From: Peter Pein <petsie at dordos.net>
- Date: Wed, 10 Aug 2011 06:44:23 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j1r5ir$fjs$1@smc.vnet.net>
Am 09.08.2011 13:27, schrieb Irretrev Unable: > I'm trying to come up with a method for creating somewhat more robust pattern based replacement rules. I've cooked up the following simple example: > > simpRule = a b v___ - c d v___ -> e v > > a b - c d /. simpRule > > produces e > > - a b + c d /. simpRule > > produces - a b + c d > > Is there a way to write one simpRule that can handle both cases? > > (The actual rule I'm trying to create has to match more terms with a leading coefficient that is more complicated than a simple minus sign, but I figure that for an initial post I should stick with a simple question.) > > Thanks in advance. > Hi, this: In[1]:= sr=(v_. a b) + (w_. c d )/;w==-v:>e v Out[1]= a b v_.+c d w_./;w==-v:>e v In[2]:= a b-c d/.sr Out[2]= e In[3]:= - a b+c d/.sr Out[3]= -e should do what you want. Peter