NAME
Math::Big::Factors - factor big numbers into prime factors using different algorithmns
SYNOPSIS
use Math::Big::Factors;
$wheel = wheel (4); # prime number wheel of 2,3,5,7
print $wheel->[0],$wheel->[1],$wheel->[2],$wheel->[3],"\n";
@factors = factor_wheel(19*71*59*3,1); # using prime wheel of order 1
@factors = factor_wheel(19*71*59*3,7); # using prime wheel of order 7
REQUIRES
perl5.005, Exporter, Math::BigInt, Math::BigFloat, Math::Big
EXPORTS
Exports nothing on default, but can export wheel()
, factor()
, factor_wheel()
;
DESCRIPTION
This module contains some routines that may come in handy when you want to factor big numbers into prime factors. examples.
METHODS
wheel()
$wheel = wheel($o);
Returns a reference to a prime wheel of order $o. This is used for factoring numbers into prime factors.
A wheel of order 7 saves about 50% of all trial divisions over the normal trial division factor algorihmn. Higher oder will save less and less, but a wheel of size 8 takes so long to compute and much memory that it is not worth the effort, limiting wheels of practicable size to order 7. For very small numbers the computation of the wheel of order 7 may actually take longer than the factorization, but anything that has more than 10 digits will usually benefit from order 7.
factors_wheel()
Factor a number into it's prime factors and return a list of factors.
BUGS
None discovered yet.
LICENSE
This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
If you use this module in one of your projects, then please email me. I want to hear about how my code helps you ;)
Quite a lot of ideas from other people, especially D. E. Knuth, have been used, thank you!
Tels http://bloodgate.com 2001-2004.