Re: How to substitute?

*To*: mathgroup at smc.vnet.net*Subject*: [mg45543] Re: How to substitute?*From*: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>*Date*: Tue, 13 Jan 2004 04:03:57 -0500 (EST)*Organization*: Universitaet Leipzig*References*: <btndpp$4f$1@smc.vnet.net>*Reply-to*: kuska at informatik.uni-leipzig.de*Sender*: owner-wri-mathgroup at wolfram.com

Hi, \!\(\((y\_0 - z\_3)\)\ \((\(-y\_1\) + z\_3)\)\ \((\(-y\_2\) + z\_3)\)\ \((\(-y\_3\) + z\_3)\)\ /. \ \((a_. *y\_i_ + b_. \ \ z\_j_)\) :> \ Q[{a, i}, {b, j}]\) Regards Jens Steve Gray wrote: > > \!\(\((y\_0 - z\_3)\)\ \((\(-y\_1\) + z\_3)\)\ \((\(-y\_2\) + > z\_3)\)\ \((\(-y\_3\) + z\_3)\)\) > > I have output cells containing various expressions such as > (y[0]-z[1]) (y[1]-z[2]) (y[4] - z[0]), where I use [x] here to mean > subscript. The integers can have any small values. For compactness of > expression, I want to make substitutions which make the above > expression look like Q[0,1]Q[1,2]Q[4,0]. There are many combinations > of subscript pairs and I don't want to write explicit substitution > rules for every possible combination. I tried doing /.(y[i]-z[j]) -> > Q[i,j] , and /.(y[i_]-z[j_]) -> Q[i,j] but they don't work. > Any suggestions will be gratefully received.