homogenize -- homogenize with respect to a variable

Description

homogenize(m,v) -- homogenize the ring element, vector, matrix, or module m using the variable v in the ring of m.
homogenize(m,v,w) -- homogenize m using the variable v, so that the result is homogeneous with respect to the given list w of integers provided as weights for the variables.

 ```i1 : R = ZZ/101[x,y,z,Degrees => {1,2,3}] o1 = R o1 : PolynomialRing``` ```i2 : f = 1 + y + z^2 2 o2 = z + y + 1 o2 : R``` ```i3 : homogenize(f,x) 6 4 2 o3 = x + x y + z o3 : R``` ```i4 : homogenize(f,x,{1,0,-1}) 2 2 o4 = x z + y + 1 o4 : R```

The weights that may be used are limited (roughly) to the range -2^30 .. 2^30.

Caveat

If the homogenization overflows the monomial, this is not reported as an error.

Ways to use homogenize :

• homogenize(Ideal,RingElement)
• homogenize(Matrix,RingElement)
• homogenize(Matrix,RingElement,List)
• homogenize(Module,RingElement)
• homogenize(Module,RingElement,List)
• homogenize(RingElement,RingElement)
• homogenize(RingElement,RingElement,List)
• homogenize(Vector,RingElement)
• homogenize(Vector,RingElement,List)