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
?? POLMOD
and
??"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.

Bill.
```