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 |