| Bill Allombert on Sun, 1 Jun 2003 00:16:33 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: galoisinit() bug |
On Thu, May 29, 2003 at 02:23:48PM -0400, Igor Schein wrote:
> Hi,
> ? galoisinit(p);
> *** impossible inverse modulo: Mod(2, 30).
Well, the patch below fix this.
Now I am not yet sure it is correct, could you check
it does not break with other polynomials ?
Cheers,
Bill.
Index: src/basemath/galconj.c
===================================================================
RCS file: /home/megrez/cvsroot/pari/src/basemath/galconj.c,v
retrieving revision 1.116
diff -u -r1.116 galconj.c
--- src/basemath/galconj.c 2003/04/23 09:55:07 1.116
+++ src/basemath/galconj.c 2003/05/31 21:59:17
@@ -2592,10 +2592,10 @@
else
{
/*We need to normalise result so that psi[g]=1*/
- long im=itos(mpinvmod(stoi(gf->psi[g]),stoi(gf->fp)));
+ long im=itos(mpinvmod(stoi(gf->psi[g]),stoi(deg)));
GEN cp=perm_pow(res, im);
for(i=1;i<lg(res);i++) res[i]=cp[i];
- for(i=1;i<lg(gf->psi);i++) gf->psi[i]=mulssmod(im,gf->psi[i],gf->fp);
+ for(i=1;i<lg(gf->psi);i++) gf->psi[i]=mulssmod(im,gf->psi[i],deg);
avma=av2;
gf->deg=deg;
return res;