Skip to content

Avoid the (rare) use of outdated values for fb.soln1/fb.soln2 and speedup for SIQS part#2

Open
kickunderscore wants to merge 2 commits intoskollmann:masterfrom
kickunderscore:master
Open

Avoid the (rare) use of outdated values for fb.soln1/fb.soln2 and speedup for SIQS part#2
kickunderscore wants to merge 2 commits intoskollmann:masterfrom
kickunderscore:master

Conversation

@kickunderscore
Copy link
Copy Markdown

While testing my C++ port of PyFactorise, I found two things that I changed compared to your implementation and that I would like to share with you:

When factoring values with large prime factors, after determining new base polynomials in 'siqs_find_first_poly()', the sieve construction in 'siqs_sieve()' may use outdated values from 'fb.soln1' and 'fb.soln1' because 'fb.soln1' is not reset to 'None' for new base polynomials. I avoided this by adding a marker for the polynomial cycle.

In siqs_trial_divide(), I wondered whether the '-1 solutions' could also serve as relations if a corresponding pseudo-factor of -1 were taken into account in the matrix operations. And yes, it works! The changes are very small, but often speed up the SIQS part by a factor of two.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant