perldl> $a = sequence(5) perldl> $b = pdl [1,4,9,16] perldl> p $c = $a == $b->dummy [ [0 1 0 0 0] [0 0 0 0 1] [0 0 0 0 0] [0 0 0 0 0] ] # This matrix's horizontal dim corresponds to $a # and the vertical to $b. # In other words, $c->($x,$y) is $a->($x) == $b->($y) perldl> p which $c [1 9] # Confusing results? Think about the matrix above. # Can you see a pattern? # I mentioned 'flatten' in an earlier post. That was a clue. perldl>p $c->flat [0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0] # This looks like all the rows of the matrix concatenated. # And look, the values at 1 and 9 are the only true ones #### $c_flat_pos = $c_dim_0_pos + $c_dim_1_pos * $sizeof_c_dim_0 #### $c_flat_pos = $index_in_a + ($index_in_b * $sizeof_a)