Bill Allombert on Mon, 15 Jun 2009 17:26:20 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: idealadd() details |
On Mon, Jun 15, 2009 at 04:46:21PM +0200, Jeroen Demeyer wrote: > Hello list, > > I have a question about idealadd(). Either I'm misunderstanding > something, or the implementation is wrong, or the documentation is wrong. > > Consider the following: > gp> idealadd(nfinit(t^2+1), [1,0;0,2], [1,0;0,2]) > %20 = > [1 0] > > [0 1] > > Here I expected to get [1,0;0,2] as a result, since the documentation > states it just adds Z-modules. Of course, as ideals, the answer is > correct. The documentation agree with you (even if it is weird for idealadd to do that). The variant below works (which is equivalent as Z-modules) ? idealadd(nfinit(t^2+1), [2,0;0,1], [2,0;0,1]) %1 = [2 0] [0 1] so this look like a bug caused by this shortcut (in idealadd) a = gcdii(gcoeff(x,1,1), gcoeff(y,1,1)); if (is_pm1(a)) { long N = lg(x)-1; if (!dz) { avma = av; return matid(N); } return gerepileupto(av, scalarmat(ginv(dz), N)); } Cheers, Bill.