MathGroup Archive 2004

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

Search the Archive

composing functions

  • To: mathgroup at
  • Subject: [mg45527] composing functions
  • From: Pedro L <pedrito6 at>
  • Date: Mon, 12 Jan 2004 02:15:37 -0500 (EST)
  • Reply-to: Pedro L <pedrito6 at>
  • Sender: owner-wri-mathgroup at


I  would  like  to find a way for composing a list of functions over a
list of numbers.

I  have  the  list  {{f,  g,  h},  {a,  b, c, d}}
(f, g, h are functions and a, b, c, d are numbers)
I would like to obtain h[g[f[a, b], c], d]

Since  it's  for a real program, I had to do it in "any" way. So I did
it as I show below:

In[1]:= kk = {{f, g, h}, {a, b, c, d}}

Out[1]= {{f, g, h}, {a, b, c, d}}

In[2]:= result1 = {kk[[2,1]]}; For[i = 1, i < Length[kk[[2]]], i++, AppendTo[result1, kk[[1,i]]]; 
            AppendTo[result1, kk[[2,i + 1]]]]; result1

Out[2]= {a, f, b, g, c, h, d}

In[3]:= result2 = StringJoin @@ ToString /@ result1

Out[3]= afbgchd

In[4]:= result3 = StringInsert[result2, "~", Range[2, StringLength[result2]]]

Out[4]= a~f~b~g~c~h~d

In[5]:= result4 = ToExpression[result3]

Out[5]= h[g[f[a, b], c], d]

But I'm really sure that it can be done much better.

Could you help me?

  • Prev by Date: MultiLine Formula (formatting w/brace)
  • Next by Date: Re: Wishart Distribution
  • Previous by thread: Re: MultiLine Formula (formatting w/brace)
  • Next by thread: Re: composing functions