Message boards :
Science :
Availability of source code
Message board moderation
Previous · 1 · 2
| Author | Message |
|---|---|
Eric DriverSend message Joined: 8 Jul 11 Posts: 1475 Credit: 1,330,840,489 RAC: 852,842 |
If I understand correctly, the current PARI version is quite old. Has anyone tried a more recent release, or is updating it particularly difficult? There's always a risk of breaking something when you upgrade to a newer library. The current apps are very stable so I'd rather not change anything unless there is a good reason. As it turns out, I recently ran some single prime decic cases offline using the latest stable PARI library. There was no noticeable improvement in speed. |
|
Send message Joined: 8 Jun 23 Posts: 35 Credit: 52,978,179 RAC: 102,645 |
If I understand correctly, the current PARI version is quite old. Has anyone tried a more recent release, or is updating it particularly difficult? Interesting you got it running. Which version? I tried to compile and test GetDecis with PARI 2.17.4 (using last GMP as included with Mingw64) and got PARI error "incorrect type in idealhnf [fake prime ideal]". Sidenote: PARI is unlikely to make GetDecisc faster because it is only small part of runtime. However it would be nice if getDecics could be recompiled with last GMP with all per-arch optimizations. |
Eric DriverSend message Joined: 8 Jul 11 Posts: 1475 Credit: 1,330,840,489 RAC: 852,842 |
If I understand correctly, the current PARI version is quite old. Has anyone tried a more recent release, or is updating it particularly difficult? I used PARI version 2.17.3, but that shouldn't make a difference for you. I used the system provided libgmp.a which comes from the package: gmp-static-6.3.0-4.fc43.x86_64 So it looks like I built with relatively recent libraries. I started with the NumberFields source code and tweaked it for my special case of a single prime. To build it I needed to change several things - if I recall, some function names changed and some interfaces changed. But I don't remember any changes required for the idealhermite function. Maybe you could send me your build log and I could take a look. Or let me know which line of the code is causing problems. Or if you can wait, I can get the source code to build with the latest libraries and merge the fixes into the baseline on github. Since you are building for Windows, that is also a potential source of problems. |
|
Send message Joined: 8 Jun 23 Posts: 35 Credit: 52,978,179 RAC: 102,645 |
If I understand correctly, the current PARI version is quite old. Has anyone tried a more recent release, or is updating it particularly difficult? Maybe if you have time, could you please post diff? I can then cherry pick changes to apply. Otherwise I can wait, no rush there... ;) Many thanks. |
Eric DriverSend message Joined: 8 Jul 11 Posts: 1475 Credit: 1,330,840,489 RAC: 852,842 |
If I understand correctly, the current PARI version is quite old. Has anyone tried a more recent release, or is updating it particularly difficult? So there was only one change in one file: TgtMartinet.cpp Basically, the function isirreducible() was renamed to polisirreducible(). Here is the patch file: --- TgtMartinet.cpp.Orig 2026-08-20 14:30:56.257915279 -0700
+++ TgtMartinet.cpp 2026-08-20 14:30:57.561916567 -0700
@@ -1363,7 +1363,7 @@
// Check if f_L is irreducible:
- if(isirreducible(f_L))
+ if(polisirreducible(f_L))
{
// Increment the irreducibilty counter.
(*irrCount)++;
@@ -1394,7 +1394,7 @@
free(OutStr);
}
- } // Matches: if(isirreducible(f_L))
+ } // Matches: if(polisirreducible(f_L))
// Restore pointer to top of pari stack
avma = ltop;
Your error mentioned a function idealhnf, which sounds like a Pari function, but I am not sure why it was throwing an error on that. I see all your machines are Windows. Are you building on Windows directly or in a Linux environment using the mingw build scripts? If you are in Linux, try building for Linux to see if that works before bootstrapping up to Windows. |