Macaulay2 » Documentation
Packages » NCAlgebra :: isHomogeneous(NCIdeal)
next | previous | forward | backward | up | index | toc

# isHomogeneous(NCIdeal) -- Determines whether the input defines a homogeneous object

- Function: isHomogeneous
- Usage:
    `isHomogeneous x`
- Inputs:
  - x, an instance of the type NCIdeal, or an NCLeftIdeal an NCRightIdeal an NCRing an NCMatrix or an NCRingElement
- Outputs:
  - a Boolean value,

## Description

Many methods in the NCAlgebra package require inputs to be homogeneous. The meaning of "homogeneous" depens on the type of object.

If x is an NCRingElement, the method returns true if all terms of x have the same degree.

If x is an NCIdeal, NCLeftIdeal, or NCRightIdeal, the method returns true if all generators of the ideal are homogeneous (not necessarily of the same degree).

If x is an NCPolynomialRing, the method returns true. If x is any other NCRing, the method returns true if and only if the defining ideal of x is homogeneous.

If x is an NCMatrix, the method returns true if integer weights were assigned to the source and target of the associated map of free right modules such that the map is graded (degree 0). See assignDegrees.

    i1 : A=QQ{x,y,z}

    o1 = A

    o1 : NCPolynomialRing

    i2 : w=x^3-y^2

           2  3
    o2 = -y +x

    o2 : A

    i3 : isHomogeneous w

    o3 = false

    i4 : setWeights(A, {2,3,1})

    o4 = A

    o4 : NCPolynomialRing

    i5 : isHomogeneous w

    o5 = true

    i6 : I = ncIdeal{w,x+z^2}

                            2  3   2
    o6 = Two-sided ideal {-y +x , z +x}

    o6 : NCIdeal

    i7 : isHomogeneous I

    o7 = true

    i8 : B = threeDimSklyanin(QQ,{1,1,-1},{x,y,z})
    --Calling Bergman for NCGB calculation.
    Complete!

    o8 = B

    o8 : NCQuotientRing

    i9 : M = ncMatrix {{x,y,z,0}, {-y*z-2*x^2,-y*x,z*x-x*z,x},{x*y-2*y*x,x*z,-x^2,y}, {-y^2-z*x,x^2,-x*y,z}}

    o9 = | x          y    z         0 |
         | -y*z-2*x^2 -y*x y^2-2*x*z x |
         | -2*y*x+x*y x*z  -x^2      y |
         | -2*y^2+x*z x^2  -x*y      z |

    o9 : NCMatrix

    i10 : isHomogeneous M

    o10 = false

    i11 : assignDegrees(M,{1,0,0,0},{2,2,2,1})

    o11 = | x          y    z         0 |
          | -y*z-2*x^2 -y*x y^2-2*x*z x |
          | -2*y*x+x*y x*z  -x^2      y |
          | -2*y^2+x*z x^2  -x*y      z |

    o11 : NCMatrix

    i12 : isHomogeneous M

    o12 = true

    i13 : N = ncMatrix {gens B}

    o13 = | x y z |

    o13 : NCMatrix

    i14 : isHomogeneous N

    o14 = true

## See also

- isHomogeneous(NCRingMap) -- Determines if an NCRingMap preserves the natural grading
- setWeights -- Set a nonstandard grading for a NCRing.
- assignDegrees -- Weights entries of a matrix to make associated map of free modules graded

## Ways to use this method:

- isHomogeneous(NCIdeal) -- Determines whether the input defines a homogeneous object
- `isHomogeneous(NCLeftIdeal)`
- `isHomogeneous(NCMatrix)`
- `isHomogeneous(NCRightIdeal)`
- `isHomogeneous(NCRing)`
- `isHomogeneous(NCRingElement)`

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/NCAlgebra/NCAlgebraDoc.m2:2251:0.