Markus Endres on Wed, 21 Jan 2004 15:45:56 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: subst |
On Wed, 2004-01-21 at 15:13, Bill Allombert wrote: > On Wed, Jan 21, 2004 at 02:59:48PM +0100, Markus Endres wrote: > > hallo at all, > > > > I have the following situation: > > > > I want to substitute the variable x in a polmod through y like this: > > > > ? subst(Mod(1,z^2+19)*x, x, y) > > %53 = Mod(y, z^2 + 19) > > ? > > > > I expect Mod(1,z^2+19)*y (this I need!) but get something strange (for > > me) like Mod(y, z^2+19). > > > > Now, why do I get this "wrong" result and how do I get the right one? > > Bad variable ordering again: > In a new session: > > parisize = 4000000, primelimit = 500000 > ? x;y;z; > ? subst(Mod(1,z^2+19)*x, x, y) > %2 = Mod(1, z^2 + 19)*y > > parisize = 4000000, primelimit = 500000 > ? x;z;y; > ? subst(Mod(1,z^2+19)*x, x, y) > %2 = Mod(y, z^2 + 19) > > Whether Mod(1,z^2+19) by y give Mod(1,z^2+19)*y or Mod(y,z^2+19) > depend of the relative priority of y and z. > > if z << y you work in Q[Z]/(Z^2+19)[Y] and if z >> y you work in > Q(Y)[Z]/(Z^2+19). Ok, now I know the reason for this behavior. But, is there any possibility to change the variables without the knowledge of the priority? The thing I want to do is the following: I compute a special polynomial for a class field with my function called ClassField(...). At the moment the polynomial is initialized in x, but sometimes I want it in y or z. So I want to specify the variable if I call the function, i.e. like ClassField(....,y) to get the polyonmial in y. thanks for every help cheers me