Drkcore

20 08 2007 perl Tweet

perlでPageRank

動かないのでこっちに書いておく。

どう書く?のお題でPageRankの計算を解いてたんだけどうまく動かない。

use Math::MatrixReal;

my $data = {
           1 => [2, 3, 4, 5, 7],
           2 => [1],
           3 => [1, 2],           4 => [2, 3, 5],
           5 => [1, 3, 4, 6],
           6 => [1, 5],
           7 => [5],
           };

sub pagerank {
 my $data = shift;
 my $rows = scalar(keys %$data);
 my $mat = Math::MatrixReal->new($rows,$rows);;

 while(my ($i, $link) = each %{$data}){
   for my $j (@{$link}){
     $mat->assign($j,$i,1/scalar(@{$link}));
   }
 }
 #print $mat;
 $det = $mat->det();
 print "det: ",$det,"\n";
}

pagerank($data);

実行結果

$ perl pr.pl 
det: -0

detが-0ってことは、複素数の計算ができてないとかそういうことかなぁ。全然わからんので書きかけで放り投げた。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021