Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

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};

Replies are listed 'Best First'.
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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1027601]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (7)
As of 2017-06-22 15:26 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (523 votes). Check out past polls.