Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Re: Sum pattern

  • To: mathgroup at smc.vnet.net
  • Subject: [mg128280] Re: Sum pattern
  • From: Ray Koopman <koopman at sfu.ca>
  • Date: Wed, 3 Oct 2012 23:39:35 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <20120930000917.61B1A6865@smc.vnet.net> <k4godt$38r$1@smc.vnet.net>

On Oct 3, 12:12 am, "Dave Snead" <dsne... at charter.net> wrote:
> Hi,
>
> I'm trying to put together a rule whose left hand side is a sum of arbitrary
> length whose elements all have the same head f.
>
> For example:
>
> In[4]:= x = f[a1, s] + f[a2, s] + f[a3, s]
>
> Out[4]= f[a1, s] + f[a2, s] + f[a3, s]
>
> In[6]:= y = f[First /@ x, s]
>
> Out[6]= f[a1 + a2 + a3, s]
>
> which is what I want.
>
> However when I turn this into a rule
>
> In[7]:= z = x /. (p : Plus[__f]) -> f[First /@ p, s]
>
> Out[7]= f[f[a1, s], s] + f[f[a2, s], s] + f[f[a3, s], s]
>
> Why isn't z equal to y?
> How can I make this rule work?
>
> Thanks in advance,
> Dave Snead

In[1]:= x = f[a1,s] + f[a2,s] + f[a3,s]

Out[1]= f[a1,s] + f[a2,s] + f[a3,s]

In[2]:= x //. f[a_,c_] + f[b_,c_] -> f[a+b,c]

Out[2]= f[a1+a2+a3,s]



  • Prev by Date: Integrating over 3D vector
  • Next by Date: How to solve a vector integral within a solid angle ?
  • Previous by thread: Re: Sum pattern
  • Next by thread: Re: Sum pattern