views:

297

answers:

2

It seems that there are several really fast prime factorization algorithms around (one that looks ideal is quadratic sieving). However, rather than make my own (likely poor) implementation I would like to use a ready-made library for simplicity.

I need to be able to factor integers of up to 15 digits efficiently. Because of that, I'm not looking for the algorithm that necessarily scales asymptotically best since we can assume the numbers being factored are less than 1015.

I've already had a look at some of the implementations listed on Wikipedia's Quadratic Sieve page. However, some of the implementations don't seem well-maintained; some don't have documentation; and so on! I checked if a few well-known libraries, such as Boost, had factorization methods but they don't seem to.

Can anyone recommend a library that fits the above criteria?

A: 

How about GMP-ECM?

therefromhere
I can't find any docs on that (its "Docs" section is empty). Its name also seems to hint that it uses GMP to store integers. I would prefer to use 64bit integers (since I run on a 64bit computer).
+1  A: 

You may find this site helpful.

Nick D
Again, I can't find any real documentation on it. I'm not sure how it would integrate with my program and, thus, whether it would work!
Well, I said you may... :) I'm interested in factorization too. Factorization is a hard problem and probably it will be hard to find a documented and *fast* library.
Nick D
I agree; especially with the almost mutual exclusivity of a projects documentation and speed. ;)
The linked forum: http://mersenneforum.org/forumdisplay.php?f=19 seems quite active - I'd suggest asking for help there, and maybe pointing back to this thread.
therefromhere
OK, I've asked... A mod needs to check my first post apparently so I'll post the link when it is okayed.