MathGroup Archive 2009

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

Search the Archive

Re: How to map a list on function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97544] Re: How to map a list on function
  • From: Helen Read <hpr at together.net>
  • Date: Sat, 14 Mar 2009 18:17:57 -0500 (EST)
  • References: <gpg18t$ceh$1@smc.vnet.net>
  • Reply-to: HPR <read at math.uvm.edu>

buts wrote:
> Hello,
> 
> Could anyone explain me how to do the following:
> I have a long list of integer numbers in groups of four:
> 
> list= {{10,3,5,7},{4,6,8,9},{0,8,3,6}, ...... }
> 
> or its Flatten version.
> 
> How to write a fast function g[list] which does this:
> 
> g[list] =x^10*y^3*z^5*u^7 + x^4*y^6*z^8*u^9 + y^8*z^3*u^6+ ...
> 
> It should be done many times (say, 10^4-6) on lists with length > 1000, so taking parts is not a good idea.
> How to use Map or similar ?
> Thanks.

Here's one straightforward way to do it. First, define a function gg[t] 
that acts on a 4-tuple t.

gg[t_List] := x^t[[1]] y^t[[2]] z^t[[3]] u^t[[4]]


Try this out on a single 4-tuple:

t1={5,4,6,2}

gg[t1]


Now, define a function to Map gg over the list of 4-tuples and Total the 
results.

g[list_List] := Total[Map[gg, list]]


Try it on a list of 1000 4-tuples:


list1 = RandomInteger[{0, 15}, {1000, 4}]

g[list1]

-- 
Helen Read
University of Vermont


  • Prev by Date: Re: How to map a list on function
  • Next by Date: Re: Two Notebooks Open at the Same Time
  • Previous by thread: Re: How to map a list on function
  • Next by thread: Re: How to map a list on function