This operation is the same as Matrix % GroebnerBasis.
The equation g*q+r == f will hold, where q is the map provided by quotient. The source of f should be a free module.
i1 : R = ZZ[x,y] o1 = R o1 : PolynomialRing |
i2 : f = random(R^2,R^{2:-1})
o2 = | y -9x-9y |
| 5x+2y 7y |
2 2
o2 : Matrix R <--- R
|
i3 : g = vars R ++ vars R
o3 = | x y 0 0 |
| 0 0 x y |
2 4
o3 : Matrix R <--- R
|
i4 : remainder(f,g)
o4 = 0
2 2
o4 : Matrix R <--- R
|
i5 : f = f + map(target f, source f, id_(R^2))
o5 = | y+1 -9x-9y |
| 5x+2y 7y+1 |
2 2
o5 : Matrix R <--- R
|
i6 : remainder(f,g)
o6 = | 1 0 |
| 0 1 |
2 2
o6 : Matrix R <--- R
|