Week 8 of Gsoc with Sympy.

Self-Initializing Quadratic Sieve Optimizations

For the past week my main focus was on improving the documentation and adding examples to the private functions. There are several improvements that i noticed while going through through code several times. Some of them are:

1. When selecting the value a when initializing the first polynomial then there should be a bound of the primes taken from the factor base. If the prime selected is too large the we will run out of relations quickly while sieving then we will again have to select a different value of a which is computationally expensive. If the primes are too small then there is a chance of getting repeated relations.

2. I was using num_primes as a parameter for generating the factorbase. But in the research paper i found that it is better to use a bound for generating a factor_base.

3. A minor discrepency i found was on accumulated_val. Here accumualted_val is calculated for every x. But here i did a mistake in the code and we are discussing the required changes.

In the documentation area i added a brief documentation to several functions like qs, _check_smoothness, _initialize_ith_poly and _initialize_first_polynomial. This work is still going.

Written on July 30, 2020