Bill Allombert on Tue, 6 Nov 2001 16:37:24 +0100

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: subst() broken

On Fri, Nov 02, 2001 at 06:50:33PM -0500, Ilya Zakharevich wrote:
> On Sat, Nov 03, 2001 at 12:31:02AM +0100, Bill Allombert wrote:
> > > > Probably you mean (1+y)*Mod(1,z), but it is not the same thing:
> > > > it is a polynomial not a POLMOD.
> > > I have no slightest idea what you mean by this sentence.  Can it be
> > > expressed algebraically, or it is just some "implementation detail"?
> > Both.
> [Can't understand your examples, but I hope one can replace Z by Z^3
>  to get something more friendly.]

Sorry... You wrote Mod(1+y,z) so I wanted to keep this example.
Let P be a non nil univariate polynomial, and assume y as higher priority than z.

(1+y)*Mod(1,P(z)) is a polynomial, belonging to the ring {Q[z]/P(z)Q[z]}[y]

Mod(1+y,P(z)) is a coset, belonging to the quotient ring Q(z)[y]/P(z)Q(z)[y],
which is isomorphic to the null ring since P(z) is invertible in Q(z)[y]

> The next question is how I can deduce that these expressions will
> result in elements of these rings.  [Preferably deduce basing on the
> documentation. ;-]

You can probably *deduce* it... with some effort :-)
Please read 
?? POL
??"Multivariate objects"@4

The big thing is that each polynomial euclidean division is done as univariate
polynomials division in the higher priority variables, because euclidean division
does not make sense for multivariate polynomials.