I don't think I understand your code - is @data the same as my @data?

I think what's confusing people here is the PDL notation - my fault, I should've given the pure Perl version - since $data[$i] and $data[$j] are PDL vectors, the '*' operator is overloaded to return a vector of the same length as its arguments, with every component being the product of the corresponding components of the input vectors. The sum() function simply returns the sum of the vector components.

The Perl version of my C example would look like this, assuming @data is an array of arrayrefs, rather than an array of PDL vectors:

for ($i = 0; i < @data; $i++) { for($j = $i + 1; $j < @data; $j++) { my $sum = 0; $sum += $data[$i][$_] * $data[$j][$_] for(0..@{$data[$i]}-1); my $pears = $sum / @{$data[$i]}; } }
I really don't think the math here can be simplified any more; or else I need to brush up on basic arithmetic :)

minor edit: forgot that square brackets get interpreted


In reply to Re^2: PDL vs C speed question by glwtta
in thread PDL vs C speed question by glwtta

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.