Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
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 musing on the Monastery: (5)
As of 2015-07-01 23:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (24 votes), past polls