in reply to Re^6: OT: Finding Factor Closest To Square Root
in thread OT: Finding Factor Closest To Square Root

I got an entirely different error when I did a sqrt($N) before factoring:
DB<1> n main::(factsqrt.pl:5): my $N = $_; DB<1> n main::(factsqrt.pl:6): my $sqrt2 = sqrt($N); DB<1> n main::(factsqrt.pl:7): my $a = factorint($N); DB<1> n DB<1> p $a Mat([-1,1])

However, this is not a bug in Math::Pari, but a side effect of perl's conversion of string to numbers.

The number "24777695232" first comes in as a string from the command line. Applying the function "sqrt" to it converts it to a double. When you pass it to Math::Pari, it goes in as a double. Naturally, the module fails to do the right thing. If you call a Math::Pari function first, like factorint, it automatically converts the string into a long Pari integer and operates on that.

Replies are listed 'Best First'.
Re^8: OT: Finding Factor Closest To Square Root
by Limbic~Region (Chancellor) on Feb 28, 2005 at 19:50 UTC
    tall_man,
    Interesting. That would imply I couldn't do this either:
    my $a = factorint( 24777695232 );
    It seems like a bug to me, but I am finding the documentation on Math::Pari lacking. Is there a good tutorial that covers all of the functions offered and examples on how to use them?

    Cheers - L~R