# isMultiHomogeneous -- Checks if an ideal is homogeneous with respect to the grading on its ring (i.e. multi-homogeneous in the multi-graded case)

## Synopsis

• Usage:
isMultiHomogeneous I
isMultiHomogeneous f
• Inputs:
• I, an ideal, an ideal in a graded or multi-graded ring
• Outputs:

## Description

Tests if the input Ideal or RingElement is Homogeneous with respect to the grading on the ring. Homogeneous input is required for all methods to compute characteristic classes.

This method works for ideals in the graded coordinate rings of toric varieties, and hence for products of projective spaces. These can be created directly, or using methods the MultiProjCoordRing method of this package, or with methods from the NormalToricVarieties Package.

 ```i1 : R=MultiProjCoordRing({1,2,1}) o1 = R o1 : PolynomialRing``` ```i2 : x=gens(R) o2 = {x , x , x , x , x , x , x } 0 1 2 3 4 5 6 o2 : List``` ```i3 : I=ideal(x_0^2*x_3-x_1*x_0*x_4,x_6^3) 2 3 o3 = ideal (x x - x x x , x ) 0 3 0 1 4 6 o3 : Ideal of R``` ```i4 : isMultiHomogeneous I o4 = true``` ```i5 : isMultiHomogeneous ideal(x_0*x_3-x_1*x_0*x_4,x_6^3) Input term below is not homogeneous with respect to the grading - x x x + x x 0 1 4 0 3 o5 = false```

Note that for an ideal to be multi-homogeneous the degree vector of all monomials in a given generator must be the same.

## Ways to use isMultiHomogeneous :

• isMultiHomogeneous(Ideal)
• isMultiHomogeneous(RingElement)