1

I want to compute covariance using PDL, but the problem is that it always shows an error:

Undefined subroutine &main::cov called at line 12.

Can anyone tell me where I'm making a mistake?

#! usr/bin/perl

use strict;
use warnings;
use PDL;

my $a = random(5, 3);
my $b = random(5, 3);

print "$a\n$b\n";

my $cov = cov($a, $b);     #line 12

print "$cov\n";
toolic
  • 57,801
  • 17
  • 75
  • 117
Jordan
  • 311
  • 1
  • 4
  • 11

1 Answers1

2

That error message tells you that a function named cov is not exported by default by PDL. If I search the PDL CPAN page (using the grep tool), I do not see a function named cov.

A google search yields PDL::Stats::Basic, which has a cov function.

toolic
  • 57,801
  • 17
  • 75
  • 117
  • 1
    Hi, that worked. I thought that using PDL would import all the modules under it. I had to install this PDL::Stats::Basic module separately. And now it works!! Thanks!! – Jordan May 09 '12 at 19:15
  • It looks like `PDL::Stats` is a completely separate distribution from `PDL`. – toolic May 09 '12 at 19:19