next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc :: isHomogeneous

isHomogeneous -- whether something is homogeneous (graded)

Synopsis

Description

i1 : isHomogeneous(ZZ)

o1 = true
i2 : isHomogeneous(ZZ[x])

o2 = true
i3 : isHomogeneous(ZZ[x]/(x^3-x-3))

o3 = false

Quotients of multigraded rings are homogeneous, if the ideal is also multigraded.

i4 : R = QQ[a,b,c,Degrees=>{{1,1},{1,0},{0,1}}];
i5 : I = ideal(a-b*c);

o5 : Ideal of R
i6 : isHomogeneous I

o6 = true
i7 : isHomogeneous(R/I)

o7 = true
i8 : isHomogeneous(R/(a-b))

o8 = false

Polyomial rings over polynomial rings are multigraded.

i9 : A = QQ[a]

o9 = A

o9 : PolynomialRing
i10 : B = A[x]

o10 = B

o10 : PolynomialRing
i11 : degree x

o11 = {1, 0}

o11 : List
i12 : degree a_B

o12 = {0, 1}

o12 : List
i13 : isHomogeneous B

o13 = true

A matrix is homogeneous if each entry is homogeneous of such a degree so that the matrix has a well-defined degree.

i14 : S = QQ[a,b];
i15 : F = S^{-1,2}

       2
o15 = S

o15 : S-module, free, degrees {1, -2}
i16 : isHomogeneous F

o16 = true
i17 : G = S^{1,2}

       2
o17 = S

o17 : S-module, free, degrees {-1, -2}
i18 : phi = random(G,F)

o18 = {-1} | 8a2+ab+3b2        0 |
      {-2} | 7a3+8a2b+3ab2+3b3 7 |

              2       2
o18 : Matrix S  <--- S
i19 : isHomogeneous phi

o19 = true
i20 : degree phi

o20 = {0}

o20 : List

Modules are homogeneous if their generator and relation matrices are homogeneous.

i21 : M = coker phi

o21 = cokernel {-1} | 8a2+ab+3b2        0 |
               {-2} | 7a3+8a2b+3ab2+3b3 7 |

                             2
o21 : S-module, quotient of S
i22 : isHomogeneous(a*M)

o22 = true
i23 : isHomogeneous((a+1)*M)

o23 = false

Note that no implicit simplification is done.

i24 : R = QQ[x]

o24 = R

o24 : PolynomialRing
i25 : isHomogeneous ideal(x+x^2, x^2)

o25 = false

Caveat

No computation on the generators and relations is performed. For example, if inhomogeneous generators of a homogeneous ideal are given, then the return value is false.

See also

Ways to use isHomogeneous :