R:=Dom::IntegerMod(18); S:=Dom::DistributedPolynomial([X,Y],R); // S=R[X,Y] S(2*X+9*Y)*S(9*X+2*Y); // Sの元として (2X+9Y)(9X+2Y) を計算 -5 X Y面白いのは、MuPAD の内部で poly(X,[X,Y],R)と Sの元としての Xとが異なることです。
R:=Dom::IntegerMod(18); S:=Dom::DistributedPolynomial([X,Y],R); // S=R[X,Y] p:=poly(X,[X,Y],R); p+S(X); FAIL // pに S(X) は足せない。 S(p)+S(X); // p にも Sをつけてやれば成功する。 2 X