Tels > Math-Big-1.12 > Math::Big::Factors

Download:
math/Math-Big-1.12.tar.gz

Dependencies

Annotate this POD (3)

CPAN RT

New  2
Open  1
View/Report Bugs
Module Version: 1.02   Source  

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 its 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-2007.

syntax highlighting: