qsieve

qsieve Mercurial Source Tree


Root/qsieve.1

.TH QSIEVE 1
 
.SH NAME
qsieve \- program for integer factorization
 
.SH SYNOPSIS
.B qsieve
[
.B <number to factor>
]
 
.SH DESCRIPTION
 
.B WHAT IS QSIEVE?
 
"Qsieve" is a program for factoring numbers up to 120 decimal digits (and
even more, if the number has moderate factors).
 
The main factorization algorithm implemented in Qsieve is a dynamic double
large prime adaption of the multiple polynomial quadratic sieve (DPPMPQS).
 
For finding small and moderate factors (and for partial factorization of
very large numbers), various additional algorithms are implemented:
 - trial division
 - pollard rho
 - pollard phi (p-1)
 - fibonacci (p+-1)
 - elliptic curves
 
Several continuations for these methods are available. The most
sophisticated one is the fft-continuation.
 
Some factorization methods split up compound factors. In these rare cases
simply restart Qsieve with these factors.
 
Although "Qsieve" is not (yet) using state-of-the-art methods for factoring
large numbers, such as the number field sieve or modern (highly optimized)
versions of elliptic curves, it has enough power to achieve many
factorizations.
 
"Qsieve" is a suite of factorization programs and not a single algorithm.
 
"Qsieve" is optimized for distributed factorization using several dozen
clients in a trusted network environment. (Support for untrusted networks is
planned.)
 
"Qsieve" provides a PHP/XML interface to monitor ongoing factorizations.
You can setup your own distributed factorization facility using Qsieve!
 
"Qsieve" is Open Source Software. If you are a software developer, you are
encouraged to contribute suggestions and code.
 
 
.SH Configuration File
 
Most programs of the Qsieve factorization suite
use a configuration file for customizing their settings.
 
You can use the environment variable
.B QSIEVE_CFG
to point to a configuration file. If this variable is not set, the file
.B qsieve.cfg
in the current working directory will be tried.
If there is no
.B qsieve.cfg
in the current working directory, qsieve falls back on
using a hardcoded path, typically
.B <installation prefix>/etc/qsieve.cfg
\&.
 
The configuration file is almost self-explanatory. Additional info can be found
in the README file distributed with qsieve.
 
 
.SH INVOKING QSIEVE
 
.B qsieve
[
.B <number_to_factor>
]
 
.B number_to_factor
can also be given as a numerical term consisting of
digits and the symbols ()^*:/%+- and/or FLPfpsqid, where
    F stands for Fibonacci number, e.g. F12 equals 34,
    L stands for Lucas number, e.g. L12 equals 322,
    P stands for Partition number, e.g. P12 equals 77,
    f stands for factorial, e.g. f6 equals 720 (which is 1*2*3*4*5*6),
    p stands for (next) prime number, e.g. p6 equals 7, (and p7=7, p8=11, etc.),
    r stands for (truncated) square root
    s stands for (next) safeprime number, that is a prime number p with the additional constraint, that (p-1)/2 is also prime.
    q is a special function for scripts, it returns its argument, but aborts the program, iff the argument is a composite number.
    i - increment argument by one, e.g. i7 equals 8
    d - decrement argument by one, e.g. d7 equals 6
 
Sometimes it may be required to set the term in quotes.
 
.B Example 1:
  qsieve "10^10+2^(2*3+1)*5-1"
 is equivalent to
  qsieve 10000000639
 
.B Example 2:
  qsieve "3^3^3"
 is equivalent to qsieve 3^(3^3)  [ since Qsieve V3.01 ] and to
  qsieve 7625597484987
 
.B Example 3:
  qsieve "dpPii30"
 evaluates nextprime(P(30+1+1))-1 [ since Qsieve V3.01 ] and is equivalent to
  qsieve 8352
 
 
  
If no arguments are given, qsieve tries to continue the latest aborted
factorization (if data is still stored on disk).
 
Results are appended to a file called
.B "factorizations.txt"
\&.
This file will not be deleted by qsieve (but you can do so eventually).
 
To
.B continue
an aborted factorization, simply restart qsieve (or server) without further parameters.
 
.B WARNING:
 If you start a new factorization, the stored data for
continuation of an aborted factorization will be destroyed!
Starting qsieve with an old number will start a new factorization!
 
 
 
.B DISTRIBUTED SIEVING
 
 ONLINE (only under UNIX/Linux and Cygwin)
 
 - start the server:
.B server <number_to_factor>
 
 - wait until the server is ready for connection of clients
(The server will try an easy-factorization and calculate some
parameters. This can take some time...)
 
 - start the client(s):
.B net-client <hostname>
 where <hostname> is the hostname of the computer on which the Qsieve server is running
 
- The clients will now receive parameters for doing their job.
Their memory-usage will be low, so clients are perfect background-processes.
The only requirement is an online connection to the server. Server and
client may be running on the same host.
     
 - Distributed sieving is only effective to factor LARGE numbers.
For numbers up to 65 digits you should run the standalone version instead.
  
 - It is possible to continue a standalone factorization with the
client-server version and vice versa. Simply restart the program
without parameters.
 
 
 OFFLINE (server only under UNIX/Linux and Cygwin)
 
  - prepare data for client (only under UNIX/Linux and Cygwin)
    ----------------------------------------------------------
   - start the server:
.B server <number_to_factor>
   - start transfer-client:
      transfer-client -g -f <filename> <hostname of server>
 
  - do the sieving
    --------------
   - copy data (<filename>) to client-system
   - start file-client: file-client <filename>
 
  - transfer data to server (only under UNIX/Linux and Cygwin)
    ----------------------------------------------------------
   - copy <filename>.out to server-system
   - start transfer-client:
      transfer-client -p -f <filename>.out <hostname of server>
   - delete transfered data
 
 
.SH SEE ALSO
Please refer the README and FAQ files shipped with the source distribution
as they are updated more frequently.
This manpage is based on Qsieve-3.01 and has not been revised since
2005-07-20.
 
.SH AUTHOR
Thorsten Reinecke <qsieve@thorstenreinecke.de>
Source at commit 0bf643a2ed03 created 11 years 9 months ago.
By Nathan Adams, fixing Sieving and modifications

Archive Download this file

Branches

Tags

Page rendered in 0.88205s using 11 queries.