MathGroup Archive 2005

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

Search the Archive

comparing two lists


Dear Group:

I want to write a function that accepts a n-vector and an n x m matrix. 
It should return a list of positions in the matrix where mat[[i,j]] > 
vec[[i]].  For example,

In[287]:=
vec=Table[Random[],{2}]

Out[287]=
{0.482259,0.314393}

In[288]:=
mat=Table[Table[Random[],{4}],{2}]

Out[288]=
{{0.183706,0.758693,0.462242,0.170041},{0.457054,0.349658,0.805455,0.127763}}

I would like myFunc[] to return {{2},{1,2,3}}.

How could I write this as a pure function?  Ideally I would like to be 
able to Map or Apply my function to the list {mat, vec} and get my result.

Something like

Position[#1,_?(#>#2&)]&@@{mat,vec}

is doomed to fail because the PatternTest required in Position[] messes 
up the slotting of the other arguments.

Ideas?  How do you nest pure functions?

-- 
Curt Fischer


  • Prev by Date: Re: Missing Graphics
  • Next by Date: Re: Missing Graphics
  • Previous by thread: EulerianCycle in graphs
  • Next by thread: Re: comparing two lists