Hi Zev, If I understand correctly, you want to do something like:
p $a [ [1 2 3 4 5] [2 3 4 1 5] [1 2 3 4 5] [2 3 4 1 5] ] and get out: p $b [ [1 0 1 0] [0 1 0 1] [1 0 1 0] [0 1 0 1] ] where $a is an M X N piddle and $b is N X N composed of zeroes and ones, diagonal filled with ones, and symmetric about the diagonal? I guess the diagonal of zeroes does the comparison of a given row with itself, which you state you don't want, but which would probably be more difficult to NOT do than to do and just ignore if you don't want it. If that's not what you want, you need to be more specific--this is probably going to involve temporarily increasing the dimensionality of your input piddle and using the threading engine to collapse it back down in a novel way, which can be complicated. Derek On Dec 22, 2011, at 9:39 AM, zev wrote: > Greetings I have a piddle (in matrix form). For each row I need a pairwise > comparison to every other row (but not to itself). I need to use 'where' on > the two piddles. I am subsequently using 'cov' in PDL::Stats::Basic to > calculate the covariance of the two piddles. > > Here is my questions: > > How can I avoid an outer and inner for loop in perl to do every pairwise > comparison? I understand this is probably a basic question, but I haven't > had luck after reading the indexing tutorial... > > > -- > Zev Kronenberg > Graduate Student > University of Utah > phone: 208-629-6224 > > _______________________________________________ > Perldl mailing list > [email protected] > http://mailman.jach.hawaii.edu/mailman/listinfo/perldl _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
