Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

translating code and creating matrix

by madM (Beadle)
on Aug 17, 2013 at 01:38 UTC ( [id://1049813]=perlquestion: print w/replies, xml ) Need Help??

madM has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks! Im trying to translate some Darwin code into Perl and to create a matrix but the matrix i become its not the one i expected.. do you have any suggestions for my code? this is the Darwin code:
PAM1 := MutationMatrix: lnPAM1 := ln(MutationMatrix): k := 1: RateMutation := sum(Freq[i] * (1 - PAM1[i,i]), i= 1..20): iter := 0: # The following loop goes until the difference reach the computer's # precision. while abs(RateMutation - 0.01) > DBL_EPSILON do iter := iter + 1; k:= k * RateMutation * 100: lnPAM1 := lnPAM1 / (RateMutation * 100): PAM1 := exp(lnPAM1): RateMutation := sum(Freq[i] * (1 - PAM1[i,i]), i= 1..20); printf('After %d iteration(s), k=%f, RateMutation=%f ', iter, k, RateMutation); od: PrintMatrix(transpose(transpose(PAM1[1..10])[1..10]),'% .5f ');
this is my code:
the mutation matrix i used was: Mutationmatrix 0.5447 0.0250 0.0311 0.0298 0.0807 0.0426 0.0497 0.0517 0.0203 + 0.0211 0.0251 0.0356 0.0328 0.0138 0.0557 0.1110 0.0554 0.0 +073 0.0148 0.0580 0.0151 0.5685 0.0275 0.0129 0.0168 0.0571 0.0261 0.0118 0.0351 + 0.0074 0.0101 0.1103 0.0173 0.0072 0.0120 0.0240 0.0203 0.0 +121 0.0114 0.0080 0.0141 0.0207 0.4755 0.0592 0.0135 0.0280 0.0255 0.0254 0.0452 + 0.0057 0.0050 0.0339 0.0077 0.0050 0.0099 0.0385 0.0295 0.0 +048 0.0152 0.0061 0.0202 0.0145 0.0887 0.5687 0.0067 0.0386 0.1123 0.0206 0.0346 + 0.0028 0.0043 0.0286 0.0050 0.0039 0.0175 0.0380 0.0221 0.0 +048 0.0091 0.0038 0.0120 0.0041 0.0044 0.0015 0.5719 0.0018 0.0009 0.0027 0.0031 + 0.0047 0.0036 0.0019 0.0046 0.0061 0.0016 0.0114 0.0100 0.0 +085 0.0061 0.0112 0.0174 0.0389 0.0253 0.0234 0.0050 0.4155 0.0531 0.0077 0.0356 + 0.0054 0.0119 0.0503 0.0237 0.0050 0.0126 0.0238 0.0190 0.0 +073 0.0114 0.0089 0.0404 0.0352 0.0457 0.1346 0.0050 0.1052 0.5182 0.0184 0.0320 + 0.0062 0.0081 0.0668 0.0132 0.0036 0.0243 0.0395 0.0354 0.0 +073 0.0106 0.0141 0.0482 0.0182 0.0523 0.0283 0.0168 0.0176 0.0212 0.7729 0.0153 + 0.0029 0.0043 0.0221 0.0064 0.0047 0.0120 0.0428 0.0144 0.0 +097 0.0045 0.0054 0.0050 0.0143 0.0245 0.0125 0.0050 0.0213 0.0097 0.0040 0.5384 + 0.0022 0.0046 0.0149 0.0073 0.0149 0.0089 0.0089 0.0074 0.0 +157 0.0364 0.0037 0.0169 0.0099 0.0102 0.0033 0.0252 0.0106 0.0061 0.0025 0.0071 + 0.4988 0.1017 0.0117 0.0901 0.0398 0.0063 0.0102 0.0288 0.0 +145 0.0140 0.1760 0.0264 0.0176 0.0116 0.0066 0.0252 0.0304 0.0104 0.0048 0.0198 + 0.1330 0.5999 0.0201 0.1866 0.0914 0.0162 0.0194 0.0245 0.0 +242 0.0349 0.0803 0.0273 0.1405 0.0575 0.0324 0.0101 0.0942 0.0630 0.0182 0.0468 + 0.0112 0.0147 0.4960 0.0218 0.0064 0.0220 0.0402 0.0317 0.0 +048 0.0121 0.0114 0.0090 0.0079 0.0047 0.0020 0.0084 0.0158 0.0044 0.0019 0.0081 + 0.0307 0.0486 0.0078 0.4201 0.0226 0.0031 0.0071 0.0118 0.0 +060 0.0091 0.0181 0.0062 0.0054 0.0050 0.0026 0.0185 0.0055 0.0020 0.0023 0.0275 + 0.0223 0.0392 0.0037 0.0373 0.6051 0.0037 0.0071 0.0072 0.0 +713 0.1391 0.0137 0.0265 0.0095 0.0105 0.0123 0.0050 0.0146 0.0143 0.0061 0.0173 + 0.0037 0.0073 0.0136 0.0055 0.0039 0.7212 0.0274 0.0122 0.0 +024 0.0038 0.0073 0.0743 0.0267 0.0570 0.0375 0.0513 0.0389 0.0325 0.0307 0.0244 + 0.0085 0.0123 0.0351 0.0173 0.0105 0.0385 0.4331 0.0904 0.0 +157 0.0106 0.0135 0.0374 0.0228 0.0441 0.0221 0.0454 0.0313 0.0295 0.0104 0.0203 + 0.0242 0.0158 0.0279 0.0291 0.0108 0.0173 0.0912 0.5182 0.0 +048 0.0118 0.0405 0.0007 0.0021 0.0011 0.0007 0.0059 0.0018 0.0009 0.0011 0.0066 + 0.0019 0.0024 0.0006 0.0023 0.0163 0.0005 0.0024 0.0007 0.7 +037 0.0182 0.0019 0.0049 0.0062 0.0110 0.0044 0.0135 0.0091 0.0043 0.0016 0.0488 + 0.0057 0.0109 0.0052 0.0109 0.1014 0.0026 0.0052 0.0057 0.0 +580 0.6111 0.0057 0.0533 0.0122 0.0124 0.0051 0.0698 0.0201 0.0160 0.0053 0.0137 + 0.2016 0.0703 0.0136 0.0610 0.0279 0.0141 0.0186 0.0552 0.0 +169 0.0159 0.5124 my @PAM1= @mutMatrix; my $e; # e is equal to the DBL_EPSILON constant $e=1;$e/=2 while $e/2+1>1; my $k = 1; my $mutRate = sum map{ $freq[ $_ ] * ( 1 - $mutMatrix[ $_ ][ $_ ] ) } +0..19; my $iter = 0; my @lnPAM=(); # in case the position in the matrix is 0 LINE: for (my $i=0; $i<20; $i++){ for (my $j=0; $j<20; $j++){ if ($mutMatrix[$i][$j] > 0){ $lnPAM[$i][$j] = log $mutMatrix[$i][$j]; }else{ next LINE; } } } # The following loop goes until the difference reach the computer's # precision. while( abs( $mutRate - 0.01) > $e ) { ++$iter; $k *= $mutRate * 100; map $_ /= ( $mutRate * 100), @$_ for @lnPAM; @PAM1 = map[ map exp( $_ ), @$_ ], @lnPAM; $mutRate = sum map{ $freq[ $_ ] * ( 1 - $PAM1[ $_ ][ $_ ] ) } 0..1 +9; printf "After %d iteration(s), k=%f, RateMutation=%f\n", $iter, $k +, $mutRate; } print "\n"; print "PAM1 Matrix:\n\n"; for (my $i=0; $i<20; $i++){ #prints Pam1 matrix + print PAM1 matrix for (my $j=0; $j<20; $j++){ printf("%.4f ", $PAM1[$i][$j]); } print "\n"; }
here´s the matrix i espect or something like this for the 10 first rows and columns:
0.99002 0.00040 0.00048 0.00048 0.00193 0.00090 0.00115 0.0011 +2 0.00031 0.00018 0.00024 0.99072 0.00052 0.00013 0.00035 0.00140 0.00045 0.0001 +9 0.00075 0.00011 0.00022 0.00039 0.98805 0.00162 0.00028 0.00065 0.00046 0.0005 +7 0.00121 0.00011 0.00033 0.00015 0.00242 0.99064 0.00006 0.00071 0.00311 0.0003 +6 0.00071 0.00002 0.00029 0.00009 0.00009 0.00001 0.99123 0.00001 -0.00001 0.0000 +4 0.00005 0.00006 0.00037 0.00095 0.00059 0.00043 0.00003 0.98585 0.00157 0.0001 +1 0.00095 0.00004 0.00094 0.00060 0.00083 0.00373 -0.00005 0.00312 0.98900 0.0002 +9 0.00057 0.00004 0.00104 0.00030 0.00117 0.00050 0.00027 0.00026 0.00034 0.9958 +9 0.00024 0.00002 0.00008 0.00031 0.00065 0.00026 0.00008 0.00057 0.00017 0.0000 +6 0.99023 0.00001 0.00015 0.00014 0.00019 0.00003 0.00032 0.00008 0.00004 0.0000 +2 0.00005 0.98765
this is the matrix i become:
0.9876 0.9712 0.9670 0.9662 0.9586 0.9726 0.9654 0.9654 0.9677 + 0.9605 0.9644 0.9670 0.9694 0.9646 0.9607 0.9717 0.9710 0.9 +700 0.9714 0.9615 0.9607 0.9891 0.9504 0.9522 0.9552 0.9458 0.9567 0.9588 0.9543 + 0.9515 0.9513 0.9513 0.9462 0.9505 0.9555 0.9614 0.9589 0.9 +572 0.9592 0.9606 0.9663 0.9601 0.9908 0.9770 0.9504 0.9667 0.9638 0.9548 0.9665 + 0.9470 0.9532 0.9720 0.9621 0.9655 0.9577 0.9690 0.9657 0.9 +516 0.9567 0.9551 0.9682 0.9647 0.9798 0.9895 0.9601 0.9697 0.9711 0.9587 0.9716 + 0.9557 0.9605 0.9726 0.9659 0.9751 0.9662 0.9702 0.9716 0.9 +592 0.9517 0.9613 0.9591 0.9662 0.9515 0.9585 0.9941 0.9426 0.9711 0.9630 0.9565 + 0.9682 0.9668 0.9533 0.9549 0.9481 0.9547 0.9566 0.9609 0.9 +612 0.9671 0.9827 0.9716 0.9552 0.9665 0.9666 0.9412 0.9932 0.9567 0.9504 0.9664 + 0.9477 0.9520 0.9676 0.9592 0.9620 0.9638 0.9683 0.9636 0.9 +572 0.9478 0.9502 0.9579 0.9596 0.9571 0.9614 0.9630 0.9501 0.9848 0.9564 0.9631 + 0.9546 0.9538 0.9627 0.9525 0.9685 0.9615 0.9595 0.9582 0.9 +528 0.9412 0.9730 0.9676 0.9715 0.9577 0.9587 0.9647 0.9534 0.9661 0.9883 0.9649 + 0.9766 0.9746 0.9635 0.9659 0.9656 0.9645 0.9634 0.9673 0.9 +808 0.9618 0.9615 0.9691 0.9662 0.9687 0.9709 0.9574 0.9687 0.9721 0.9641 0.9863 + 0.9570 0.9629 0.9726 0.9692 0.9758 0.9785 0.9709 0.9685 0.9 +644 0.9346 0.9646 0.9685 0.9701 0.9557 0.9617 0.9759 0.9566 0.9702 0.9826 0.9636 + 0.9940 0.9859 0.9631 0.9647 0.9637 0.9651 0.9659 0.9710 0.9 +775 0.9584 0.9732 0.9579 0.9552 0.9474 0.9519 0.9598 0.9464 0.9547 0.9658 0.9549 + 0.9711 0.9870 0.9502 0.9552 0.9527 0.9536 0.9551 0.9593 0.9 +673 0.9412 0.9575 0.9694 0.9642 0.9752 0.9729 0.9552 0.9709 0.9727 0.9637 0.9736 + 0.9575 0.9590 0.9896 0.9674 0.9733 0.9678 0.9724 0.9717 0.9 +598 0.9451 0.9653 0.9672 0.9545 0.9607 0.9617 0.9524 0.9581 0.9579 0.9616 0.9657 + 0.9546 0.9596 0.9630 0.9927 0.9622 0.9630 0.9675 0.9637 0.9 +578 0.9643 0.9566 0.9638 0.9601 0.9654 0.9722 0.9468 0.9622 0.9753 0.9626 0.9735 + 0.9548 0.9584 0.9701 0.9634 0.9876 0.9708 0.9692 0.9661 0.9 +609 0.9634 0.9602 0.9625 0.9679 0.9603 0.9660 0.9561 0.9666 0.9710 0.9642 0.9789 + 0.9589 0.9620 0.9673 0.9670 0.9736 0.9918 0.9660 0.9660 0.9 +624 0.9478 0.9654 0.9770 0.9772 0.9749 0.9733 0.9613 0.9745 0.9722 0.9664 0.9747 + 0.9630 0.9668 0.9753 0.9748 0.9752 0.9693 0.9886 0.9784 0.9 +683 0.9648 0.9691 0.9718 0.9702 0.9673 0.9704 0.9613 0.9654 0.9666 0.9659 0.9679 + 0.9637 0.9667 0.9701 0.9666 0.9678 0.9650 0.9740 0.9873 0.9 +697 0.9674 0.9615 0.9726 0.9704 0.9550 0.9598 0.9633 0.9608 0.9630 0.9813 0.9656 + 0.9720 0.9766 0.9600 0.9625 0.9643 0.9632 0.9657 0.9715 0.9 +900 0.9592 0.9661 0.9561 0.9545 0.9424 0.9348 0.9514 0.9338 0.9337 0.9446 0.9185 + 0.9355 0.9327 0.9279 0.9513 0.9491 0.9311 0.9445 0.9514 0.9 +416 0.9950 0.9621 0.9567 0.9664 0.9512 0.9545 0.9774 0.9464 0.9758 0.9546 0.9584 + 0.9603 0.9593 0.9582 0.9539 0.9563 0.9588 0.9592 0.9559 0.9 +587 0.9726 0.9888

Replies are listed 'Best First'.
Re: translating code and creating matrix
by BrowserUk (Patriarch) on Aug 17, 2013 at 01:58 UTC

    The most likely reason for the discrepancy is that Darwin appears (from the scant information I can find about it) to generate C code that uses float where Perl uses double.

    Hence, I believe that the Perl code is producing more accurate results, but they will not reproduce the results from the Darwin code.

    Probably the easiest way to confirm this would be to intercept the C code generated by the Darwin code and inspect it. Perhaps even try switching all floats to doubles and see if the results then produced match what perl is producing.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      Apparently Darwin is closed source. See my other post. So.. slim chances of getting the code.

        Apparently Darwin is closed source. See my other post. So.. slim chances of getting the code.

        I know, but I linked an example of the C produced by Darwin (it converts Darwin code into C which is then compiled in the normal way), and it shows that it uses floats rather than doubles for many variables -- including mutation rate -- which probably explains the difference between its results and those produced with Perl.


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
Re: translating code and creating matrix
by spx2 (Deacon) on Aug 17, 2013 at 16:29 UTC

    @madM , I had a look at the code. I noticed that Freq was missing from it, so there was no way to reproduce the numbers you described aboe. However, after a bit of googling, I found this page which refered to this language called Darwin and how you can compute mutation matrices and mutation rates and it also included the exact code that computes the 1-PAM matrix which madM also wrote above.

    FWIW this language called Darwin is closed source. I found that one can obtain a copy if he signs a license agreement and sends it by fax or regular mail!.

    Anyway, I had a look over the page and I noticed that one can obtain the MutationMatrix from the CountMatrix. Afterwards, one can find the Freq frequencies through the CountMatrix. So .. what I did is I used the CountMatrix featured in the page mentioned above, and I wrote some PDL code to compute the various matrices. The results weren't anywhere near the ones in the articles. Right off the bat the Mutation matrix was different, the frequencies were surprisingly the same as in the article (and without a copy of this Darwin programming language I can't check more than this). Maybe someone wants to have a second look(although I'll mention that I'd much rather trust PDL). I'll just post the Perl PDL code here:

    #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; use PDL; use PDL::NiceSlice; use Storable qw/dclone/; my $CountMatrix = pdl([ [ 4372, 121, 113, 162, 96, 140, 324, 387, 40, 136, 212, 21 +9, 72, 50, 213, 596, 300, 6, 39, 428], [ 121, 2748, 100, 70, 20, 188, 170, 88, 69, 48, 85, 67 +9, 38, 26, 46, 129, 110, 10, 30, 59], [ 113, 100, 1727, 322, 16, 92, 166, 190, 89, 37, 42, 20 +9, 17, 18, 38, 207, 160, 4, 40, 45], [ 162, 70, 322, 3092, 8, 127, 732, 154, 68, 18, 36, 17 +6, 11, 14, 67, 204, 120, 4, 24, 28], [ 96, 20, 16, 8, 680, 6, 6, 20, 6, 30, 30, 1 +2, 10, 22, 6, 61, 54, 7, 16, 83], [ 140, 188, 92, 127, 6, 1367, 346, 58, 70, 35, 100, 31 +0, 52, 18, 48, 128, 103, 6, 30, 66], [ 324, 170, 166, 732, 6, 346, 3378, 138, 63, 40, 68, 41 +1, 29, 13, 93, 212, 192, 6, 28, 104], [ 387, 88, 190, 154, 20, 58, 138, 5788, 30, 19, 36, 13 +6, 14, 17, 46, 230, 78, 8, 12, 40], [ 40, 69, 89, 68, 6, 70, 63, 30, 1059, 14, 39, 9 +2, 16, 54, 34, 48, 40, 13, 96, 27], [ 136, 48, 37, 18, 30, 35, 40, 19, 14, 3217, 858, 7 +2, 198, 144, 24, 55, 156, 12, 37, 1300], [ 212, 85, 42, 36, 30, 100, 68, 36, 39, 858, 5061, 12 +4, 410, 331, 62, 104, 133, 20, 92, 593], [ 219, 679, 209, 176, 12, 310, 411, 136, 92, 72, 124, 305 +4, 48, 23, 84, 216, 172, 4, 32, 84], [ 72, 38, 17, 11, 10, 52, 29, 14, 16, 198, 410, 4 +8, 923, 82, 12, 38, 64, 5, 24, 134], [ 50, 26, 18, 14, 22, 18, 13, 17, 54, 144, 331, 2 +3, 82, 2191, 14, 38, 39, 59, 367, 101], [ 213, 46, 38, 67, 6, 48, 93, 46, 34, 24, 62, 8 +4, 12, 14, 2757, 147, 66, 2, 10, 54], [ 596, 129, 207, 204, 61, 128, 212, 230, 48, 55, 104, 21 +6, 38, 38, 147, 2326, 490, 13, 28, 100], [ 300, 110, 160, 120, 54, 103, 192, 78, 40, 156, 133, 17 +2, 64, 39, 66, 490, 2808, 4, 31, 299], [ 6, 10, 4, 4, 7, 6, 6, 8, 13, 12, 20, +4, 5, 59, 2, 13, 4, 582, 48, 14], [ 39, 30, 40, 24, 16, 30, 28, 12, 96, 37, 92, 3 +2, 24, 367, 10, 28, 31, 48, 1612, 42], [ 428, 59, 45, 28, 83, 66, 104, 40, 27, 1300, 593, 8 +4, 134, 101, 54, 100, 299, 14, 42, 3784], ]); # $r1 is a row vector of 1 - M[i,i] # $r2 is a column vector of values from $F (actually from $Freq) # $r1 x $r2 is the product which and it's a scalar (actually a 1x1 mat +rix, so that's # why we're using ->at(0,0) to pull out that number from that 1x1 matr +ix). sub RateMutation { my ($M,$F) = @_; my $Mdim = shape($M)->at(1,0); my $r1 = pdl(ones($Mdim) - $M->diagonal(0,1)); my $r2 = $F->(*1); return pdl($r1 x $r2)->at(0,0); } # $Tot holds the total of all elements in the matrix $M # $Mdim is the dimension of the matrix minus one (in our case 20 since + we have a 20 x 20 square matrix) # That's because indexing starts at 0 for piddles (the primite PDL dat +a structures) sub ComputeFrequencies { my ($M) = @_; my $Tot = sum($M); my $Mdim = shape($M)->at(1,0) - 1; my $F = pdl(map { $M->slice(",$_")->sum /$Tot } (0..$Mdim)); return $F; } sub ComputeMutationMatrix { my ($C) = @_; my $N = zeroes(20,20); for(0..19) { $N->set($_,$_,1/$C->slice(":,$_")->sum ); }; my $M = $C x $N; return $M; }; my $MutationMatrix = ComputeMutationMatrix($CountMatrix); my $Freq = ComputeFrequencies($CountMatrix); my $DBL_EPSILON; # e is equal to the DBL_EPSILON constant $DBL_EPSILON=1;$DBL_EPSILON/=2 while $DBL_EPSILON/2+1>1; print "dbl_epsilon=$DBL_EPSILON\n"; my $PAM1 = $MutationMatrix->copy(); my $lnPAM1 = log($PAM1); my $k = 1; my $r = RateMutation($PAM1,$Freq); while(abs($r -0.01) > $DBL_EPSILON) { $k *= $r * 100; $lnPAM1 /= $r * 100; $PAM1 = $lnPAM1->exp; $r = RateMutation($PAM1,$Freq); print "r=$r\n"; }; # print the 10 x 10 upper left sub-matrix of $PAM1 # not sure if this is the same as # the Darwin code ==> PrintMatrix(transpose(transpose(PAM1[1..10])[1 +..10]),'% .5f '); print $PAM1->slice('0:9,0:9');
    And, here are the results I got from this code above ^ :
    Freq = [0.084746479 0.051042173 0.038350263 0.057409245 0.012554643 0. +034739087 0.068834076 0.079076299 0.020769539 0.068105505 0.089075666 + 0.06501172 0.023198108 0.038234114 0.040367031 0.056701793 0.0572191 +84 0.0087322873 0.027854624 0.077978164] Mutation Matrix [ [ 0.54472963 0.02503103 0.031112335 0.029795843 0.08074011 +8 0.042553191 0.049700874 0.051675791 0.020335536 0.0210852 +71 0.025130394 0.035569271 0.032771962 0.01380834 0.055715 +407 0.11098696 0.055360768 0.0072551391 0.014783927 0.05795 +5315] [ 0.015076003 0.56847331 0.02753304 0.012874747 0.01682085 +8 0.057142857 0.026077619 0.011750567 0.0350788 0.00744186 +05 0.010075865 0.11028098 0.017296313 0.0071803369 0.012032 +435 0.024022346 0.020298948 0.012091898 0.011372252 0.007989 +1672] [ 0.014079242 0.020686802 0.47549559 0.059223837 0.01345668 +6 0.027963526 0.025464028 0.025370543 0.045246568 0.00573643 +41 0.0049786629 0.033945103 0.0077378243 0.0049710025 0.0099398 +378 0.038547486 0.029525743 0.0048367594 0.015163002 0.006093 +4326] [ 0.020184401 0.014480761 0.088656388 0.56869597 0.006728343 +1 0.038601824 0.11228716 0.020563493 0.034570412 0.00279069 +77 0.0042674253 0.02858535 0.0050068275 0.0038663353 0.017525 +504 0.037988827 0.022144307 0.0048367594 0.0090978014 0.003791 +4692] [ 0.011961126 0.0041373604 0.0044052863 0.0014713997 0.5719091 +7 0.0018237082 0.00092038656 0.0026705835 0.0030503305 0.00465116 +28 0.0035561878 0.0019490011 0.0045516614 0.0060756697 0.0015694 +481 0.011359404 0.0099649382 0.0084643289 0.0060652009 0.01123 +8998] [ 0.017443309 0.038891187 0.025330396 0.02335847 0.005046257 +4 0.41550152 0.053075625 0.0077446922 0.035587189 0.00542635 +66 0.011853959 0.050349196 0.023668639 0.0049710025 0.012555 +585 0.023836127 0.019007197 0.0072551391 0.011372252 0.008937 +0345] [ 0.040368801 0.035167563 0.045704846 0.13463307 0.005046257 +4 0.10516717 0.51817763 0.018427026 0.03202847 0.00620155 +04 0.0080606923 0.066753289 0.013199818 0.0035901685 0.024326 +445 0.039478585 0.035430891 0.0072551391 0.010614102 0.014 +0826] [ 0.048218291 0.018204386 0.052312775 0.028324444 0.01682085 +8 0.017629179 0.021168891 0.77286687 0.015251652 0.00294573 +64 0.0042674253 0.02208868 0.0063723259 0.0046948357 0.012032 +435 0.04283054 0.0143938 0.0096735187 0.0045489007 0.005416 +3846] [ 0.0049838026 0.014273893 0.024504405 0.012506897 0.005046257 +4 0.021276596 0.0096640589 0.0040058753 0.53838332 0.00217054 +26 0.0046230441 0.014942342 0.0072826582 0.014913007 0.0088935 +391 0.0089385475 0.0073814357 0.015719468 0.036391205 0.003656 +0596] [ 0.016944929 0.0099296649 0.010187225 0.0033106493 0.02523128 +7 0.010638298 0.0061359104 0.0025370543 0.0071174377 0.498759 +69 0.10170697 0.011694007 0.090122895 0.03976802 0.0062777 +923 0.010242086 0.028787599 0.014510278 0.014025777 0.176 +0325] [ 0.026414154 0.017583782 0.011563877 0.0066212985 0.02523128 +7 0.030395137 0.010431048 0.0048070503 0.019827148 0.133023 +26 0.59992888 0.020139678 0.18661812 0.091411212 0.01621 +763 0.019366853 0.024543274 0.024183797 0.034874905 0.08029 +7901] [ 0.027286319 0.14046338 0.057544053 0.032370793 0.01009251 +5 0.094224924 0.06304648 0.018159968 0.046771734 0.0111627 +91 0.014698909 0.49602079 0.021847975 0.0063518365 0.021972 +273 0.040223464 0.031740173 0.0048367594 0.012130402 0.01137 +4408] [ 0.0089708448 0.0078609847 0.0046806167 0.0020231745 0.008410428 +9 0.015805471 0.0044485351 0.0018694085 0.0081342145 0.0306976 +74 0.048601233 0.0077960045 0.42011834 0.022645678 0.0031388 +962 0.0070763501 0.011810297 0.0060459492 0.0090978014 0.01814 +4888] [ 0.0062297533 0.0053785685 0.0049559471 0.0025749494 0.01850294 +4 0.0054711246 0.0019941709 0.002269996 0.027452974 0.0223255 +81 0.039236605 0.0037355855 0.037323623 0.60508147 0.0036620 +455 0.0070763501 0.0071968998 0.071342201 0.13912055 0.01367 +6371] [ 0.026538749 0.0095159288 0.010462555 0.012322972 0.005046257 +4 0.014589666 0.014265992 0.0061423421 0.017285206 0.00372093 +02 0.0073494547 0.013643008 0.0054619936 0.0038663353 0.72116 +139 0.027374302 0.012179369 0.0024183797 0.0037907506 0.007312 +1192] [ 0.074258659 0.026685974 0.056993392 0.037520692 0.05130361 +6 0.038905775 0.032520325 0.030711711 0.024402644 0.00852713 +18 0.012328118 0.03508202 0.017296313 0.010494339 0.038451 +478 0.43314711 0.090422587 0.015719468 0.010614102 0.01354 +0961] [ 0.03737852 0.022755482 0.044052863 0.022070995 0.04541631 +6 0.031306991 0.02945237 0.010415276 0.020335536 0.0241860 +47 0.015765766 0.027935683 0.029130633 0.010770505 0.017263 +929 0.091247672 0.51817679 0.0048367594 0.011751327 0.04048 +7475] [ 0.0007475704 0.0020686802 0.0011013216 0.00073569983 0.005887300 +3 0.0018237082 0.00092038656 0.0010682334 0.0066090493 0.00186046 +51 0.0023707918 0.00064966705 0.0022758307 0.016293841 0.00052314 +936 0.0024208566 0.00073814357 0.70374849 0.018195603 0.001895 +7346] [ 0.0048592076 0.0062060405 0.011013216 0.004414199 0.01345668 +6 0.009118541 0.0042951373 0.0016023501 0.048805287 0.00573643 +41 0.010905642 0.0051973364 0.010923987 0.10135322 0.0026157 +468 0.0052141527 0.0057206127 0.058041112 0.61106899 0.005687 +2038] [ 0.053326688 0.012205213 0.012389868 0.0051498988 0.0698065 +6 0.02006079 0.015953367 0.005341167 0.013726487 0.201550 +39 0.070293978 0.013643008 0.060992262 0.027892847 0.014125 +033 0.018621974 0.055176232 0.016928658 0.015921152 0.5123 +8998] ] dbl_epsilon=2.22044604925031e-16 r=0.0134242898847 r=0.0100183936697395 r=0.0100000985667805 r=0.0100000005281864 r=0.0100000000028304 r=0.0100000000000152 r=0.0100000000000001 [ [0.98990983 0.94029293 0.94371323 0.9430323 0.95885789 0.94865982 0. +95112207 0.95174101 0.93703741 0.93760395] [0.93236752 0.99061516 0.94178966 0.92991394 0.93407374 0.95334023 0. +94093615 0.9284966 0.9456056 0.92144301] [ 0.9313034 0.93730535 0.98766594 0.9539097 0.93060051 0.94203362 0. +94056219 0.94050444 0.9496323 0.91744771] [0.93692071 0.9317407 0.96035631 0.99062164 0.91989381 0.94711763 0 +.9641522 0.93721181 0.94537517 0.90647761] [0.92877194 0.91245623 0.91341257 0.89684268 0.99071482 0.9000624 0 +.8898454 0.90581207 0.90782484 0.91424115] [0.93464055 0.94723572 0.94047958 0.93920794 0.91548638 0.98544458 0. +95216579 0.9220568 0.94583278 0.91659698] [0.94782559 0.9456455 0.94979208 0.96707799 0.91548638 0.96309835 0. +98908433 0.93549698 0.94417056 0.91864259] [0.95064132 0.93530715 0.95193569 0.94223533 0.93407374 0.93480595 0 +.9376659 0.99570789 0.93254784 0.90729619] [0.91529606 0.9315169 0.9399592 0.92946403 0.91548638 0.93774535 0 +.9254713 0.9119644 0.98971618 0.90268235] [0.93418835 0.9258903 0.92628621 0.90906687 0.94041803 0.92695645 0. +91847941 0.90503673 0.92075759 0.98845386] ]

      You seem to have got similar results to those I got with pure perl.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1049813]
Approved by BrowserUk
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2024-03-29 01:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found