Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Issue with hash definition & possibly some other stuff

by hdb (Prior)
on Apr 08, 2013 at 21:27 UTC ( #1027601=note: print w/ replies, xml ) Need Help??


in reply to Issue with grep & getting the right hash values out & possibly some other stuff

A few comments:

  • The symmetry of the problem leads to 10 different cases only. We can assume that 1<=$c<$b<$a<=$rep.
  • This also implies that $a is always at least 3, and $b at least 2.
  • This way the loops are simpler and no check for equality is required.
  • I think that $a, $b, $c are the correct parameters to store the results rather than the polynomials itself.
Here is my proposed code:

use strict; use warnings; use Math::Polynomial::Solve qw!poly_derivative poly_roots!; use Data::Dumper; my %haystack; my $rep = int 5; # $rep means right endpoint of the interval [0, $rep] foreach my $a (3..$rep ) { foreach my $b (2..$a-1 ) { foreach my $c (1..$b-1 ) { my @quintic = (1, -$a - $b - $c, $a*$b + $a*$c + $b*$c, -$a*$b*$ +c, 0, 0); my @derivative = poly_derivative(@quintic); my @zeros = poly_roots(@derivative); $haystack{"$a,$b,$c"}{"p"} = \@quintic; $haystack{"$a,$b,$c"}{"d"} = \@derivative; $haystack{"$a,$b,$c"}{"z"} = \@zeros; } } } print Dumper{%haystack};


Comment on Re: Issue with hash definition & possibly some other stuff
Download Code
Re^2: Issue with hash definition & possibly some other stuff
by crunch_this! (Acolyte) on Apr 08, 2013 at 23:30 UTC
    That makes a lot of sense when I think of what the problem is, especially the first & last things. Once I got it working I confirmed what I suspected that I actually don't really need to know what the derivatives actually are, only what their zeros are. So I actually only need an ordinary hash. Now that I've got the hash part fixed I want to search the values for zero sets that only contain integers, or maybe values within 0.0001 of an integer since the Solve module uses a numerical matrix method to find the zeros, then print out its key. I think grep is what I'm looking for. Thx for all the help so far everybody :D
Re^2: Issue with hash definition & possibly some other stuff
by crunch_this! (Acolyte) on Apr 09, 2013 at 01:56 UTC
    btw that dumper module is a real lifesaver!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1027601]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2014-10-20 05:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (72 votes), past polls