MathGroup Archive 2003

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

Search the Archive

Re: How to copy pattern from one expression to another?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg45267] Re: How to copy pattern from one expression to another?
  • From: drbob at bigfoot.com (Bobby R. Treat)
  • Date: Wed, 24 Dec 2003 17:42:24 -0500 (EST)
  • References: <bsbn05$lri$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

First of all, what you say is straightforward apparently isn't. It
doesn't give the result you think unless f has the Listable property,
as Log does (but most functions don't):

XX = {{x11, x12, x13}, x2, 
    x3, x4, {x51, x52}, x6, 
    {x71, x72}, x8}; 
f[Flatten[XX]]
f[{x11, x12, x13, x2, x3, x4, 
   x51, x52, x6, x71, x72, 
   x8}]

Log[Flatten[XX]]
{Log[x11], Log[x12], 
  Log[x13], Log[x2], Log[x3], 
  Log[x4], Log[x51], 
  Log[x52], Log[x6], 
  Log[x71], Log[x72], Log[x8]}

But this works:

Map[f, XX, {-1}]
{{f[x11], f[x12], f[x13]}, 
  f[x2], f[x3], f[x4], 
  {f[x51], f[x52]}, f[x6], 
  {f[x71], f[x72]}, f[x8]}

Bobby

"Nico" <pipponep at hotmail.com> wrote in message news:<bsbn05$lri$1 at smc.vnet.net>...
> Hi everyone and Merry Christmas!
> Here's my issue: I have a vector such as
> XX={{x11,x12,x13},x2,x3,x4,{x51,x52},x6,{x71,x72},x8} and I would like to
> apply the same function F[x_] to each single element in it. This is indeed
> pretty straightforward even to a very basic user like I am: I can first
> Flatten[XX] and then apply F[Flatten[XX]]. What I get is then
> YY={F[x11],F[x12],F[x12],...}.
> The question is: how can I then have YY with the same pattern of XX, that is
> YY_hat={{F[x11],F[x12],F[x12]},F[x2],....,{F[x51],F[x52]},F[x6],{F..,F}}?
> I have tried but I'm afraid I cannot focus exactly the way I should approach
> the problem.
> Any suggestion anyone? I'd really appreciate it...
> 
> Kind regards and many thanks!
> The Net


  • Prev by Date: RE: Usage of "//" Operator with Multiargument Functions
  • Next by Date: Re: Usage of "//" Operator
  • Previous by thread: Re: How to copy pattern from one expression to another?
  • Next by thread: Re: How to copy pattern from one expression to another?