![]() |
![]() |
#738 | |
"Mark"
Apr 2003
Between here and the
26×113 Posts |
![]() Quote:
Given the values you have for k, b, c, and d, 3^n-7 is always even, so always divisible by 2. I could make a change to support sieving sequences meeting these criteria:
I would then need to:
That would mean that all factors found by the discrete log divide both k*b^n+c and (k*b^n+c)/d. I don't know when I can complete this, but it is the best I can offer at this time. |
|
![]() |
![]() |
![]() |
#739 | |
"Seth"
Apr 2019
1111011012 Posts |
![]() Quote:
I coded my own slower sieve so this is low priority, I'll also play around and see if I can hack mtsieve to work for my specific case. |
|
![]() |
![]() |
![]() |
#740 | |
"Seth"
Apr 2019
17×29 Posts |
![]() Quote:
I'm surprised that pfgw takes the floor of the division. I have no idea what you should do in that case. Last fiddled with by SethTro on 2022-10-27 at 17:17 |
|
![]() |
![]() |
![]() |
#741 |
"Seth"
Apr 2019
1111011012 Posts |
![]()
I found the source of my problem by compiling with `make DEBUG=yes` and using gdb.
The code was running from CisOneWithOneSequenceWorker which I eventually parsed in the symbolic domain as "C Is One" instead of just a random identifier. Code:
void SierpinskiRieselApp::ValidateOptions(void) { seq_t *seqPtr; ib_CanUseCIsOneLogic = true; Code:
void SierpinskiRieselApp::AddSequence(uint64_t k, int64_t c, uint32_t d) { ... uint64_t absc = abs(c); if (absc != 1) ib_CanUseCIsOneLogic = false; I can "fix" the invalid factors issue by commenting out the assignment to true. I suspect you're the person who should figure out the correct fix. |
![]() |
![]() |
![]() |
#742 |
"Mark"
Apr 2003
Between here and the
1C4016 Posts |
![]()
AddSequence() should be called before MakeSubsequences(), which where the Helper is created. Is the wrong Helper created? It should be creating GenericSequenceHelper.
|
![]() |
![]() |
![]() |
#743 | |
"Seth"
Apr 2019
17·29 Posts |
![]() Quote:
core/main:main calls ProcessArgs calls SierpinskiRieselApp::ParseOptions calls SierpinskiRieselApp::ValidateAndAddNewSequence calls SierpinskiRieselApp::AddSequence where ib_CanUseCIsOneLogic set false after that core/main:main calls core/App:Run calls SierpinskiRieselApp::ValidateOptions which resets ib_CanUseCIsOneLogic = true; then calls SierpinskiRieselApp::MakeSubsequences which creates CisOneWithOneSequenceHelper when it should be creating GenericSequenceHelper it feels like `ib_CanUseCIsOneLogic = true;` should probably be moved to the constructor Code:
Index: sierpinski_riesel/SierpinskiRieselApp.cpp =================================================================== --- sierpinski_riesel/SierpinskiRieselApp.cpp (revision 205) +++ sierpinski_riesel/SierpinskiRieselApp.cpp (working copy) @@ -48,6 +48,8 @@ SetAppMinPrime(3); SetAppMaxPrime(PMAX_MAX_62BIT); + ib_CanUseCIsOneLogic = true; + ii_MinN = 0; ii_MaxN = 0; it_Format = FF_ABCD; @@ -233,7 +235,6 @@ void SierpinskiRieselApp::ValidateOptions(void) { seq_t *seqPtr; - ib_CanUseCIsOneLogic = true; if (it_Format == FF_UNKNOWN) FatalError("the specified file format in not valid, use A (ABC), D (ABCD), P (ABC with number_primes), or B (BOINC)"); Last fiddled with by SethTro on 2022-10-28 at 01:57 |
|
![]() |
![]() |
![]() |
#744 |
"99(4^34019)99 palind"
Nov 2016
(P^81993)SZ base 36
47·79 Posts |
![]()
Can you update mtsieve to make it be able to sieve the sequence (a*b^n+c)/gcd(a+c,b-1) with gcd(a+c,b-1) > 1 (for a>=1, b>=2, c != 0, gcd(a,c) = 1, gcd(b,c) = 1)?
e.g. (113*13^n-5)/12, which has no single known prime or PRP, and is the number 9555...555 with n 5's in base 13, if such prime exists, then the smallest such prime would be a minimal prime (start with b+1) in base b = 13, see this page For this family, one would sieve the sequence 113*13^n-5 for primes not dividing 12, i.e. sieve starting with the prime 5 (and ending with 10^9 or more), and initialized the list of candidates to not include n for which 2 or 3 divides (113*13^n-5)/12 Most of the unsolved families in the "minimal prime problem" require this updating, e.g. the unsolved families in base 19 and the unsolved families in base 21 Last fiddled with by sweety439 on 2022-10-28 at 03:59 |
![]() |
![]() |
![]() |
#745 |
"Mark"
Apr 2003
Between here and the
26×113 Posts |
![]()
I see what you are saying. The line in ValidateOptions should be in the constructor. Thanks for finding it.
|
![]() |
![]() |
![]() |
#746 | |
"Mark"
Apr 2003
Between here and the
723210 Posts |
![]() Quote:
In the interim, if you know C++, you can possibly investigate writing your own sieve based upon the framework. |
|
![]() |
![]() |
![]() |
#747 | |
"99(4^34019)99 palind"
Nov 2016
(P^81993)SZ base 36
47×79 Posts |
![]() Quote:
Last fiddled with by sweety439 on 2022-10-28 at 13:51 |
|
![]() |
![]() |
![]() |
#748 | |
"Mark"
Apr 2003
Between here and the
11100010000002 Posts |
![]() Quote:
|
|
![]() |
![]() |