Re: Grouping similar indices together in an expression

*To*: mathgroup at smc.vnet.net*Subject*: [mg65249] Re: Grouping similar indices together in an expression*From*: Peter Pein <petsie at dordos.net>*Date*: Wed, 22 Mar 2006 06:13:38 -0500 (EST)*References*: <dvosko$j5k$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

David Sanders schrieb: > Hi, > > I am a newbie in Mathematica, and am trying to do the following. > > I have terms which look like > a[i] a[j] b[i] b[j] > > I need to apply a function F, for which I need to group the different > indices (by which I mean i, j) together as follows: > > F(a[i] a[j] b[i] b[j]) = F(a[i] b[i]) F(a[j] b[j]) > > I do not in general know how many different indices there might be in a > term. E.g. I might have > a[i] a[j] a[k] b[j] > > Could somebody please give me a hint as to how to do this? > > Thanks, > David. > Hi David, maybe you don't want the "intersection of indices"? Then try this one: example3=a[i] a[j] a[k] b[g] b[h] b[i] b[j]; Times@@F@@@Split[Sort[List@@example3,OrderedQ[First/@{##}]&], SameQ@@(First/@{##})&] --> F[a[k]] F[b[g]] F[b[h]] F[a[i],b[i]] F[a[j],b[j]] Peter