Macaulay2 » Documentation
Packages » NCAlgebra :: NCRingElement % NCGroebnerBasis
next | previous | forward | backward | up | index | toc

# NCRingElement % NCGroebnerBasis -- Reduces a NCRingElement by a NCGroebnerBasis

- Operator: %
- Usage:
    `fred = f % Igb`
- Inputs:
  - f, an instance of the type NCRingElement, or an integer, or a rational number
  - Igb, an instance of the type NCGroebnerBasis,
- Outputs:
  - fred, an instance of the type NCRingElement,

## Description

This command reduces the input modulo a noncommutative Groebner basis. It will either reduce it using top-level Macaulay code, or via a call to Bergman, depending on the size and degree of the input element.

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

    o1 = A

    o1 : NCPolynomialRing

    i2 : p = y*z + z*y - x^2

                2
    o2 = zy+yz-x

    o2 : A

    i3 : q = x*z + z*x - y^2

             2
    o3 = zx-y +xz

    o3 : A

    i4 : r = z^2 - x*y - y*x

          2
    o4 = z -yx-xy

    o4 : A

    i5 : I = ncIdeal {p,q,r}

                                 2      2      2
    o5 = Two-sided ideal {zy+yz-x , zx-y +xz, z -yx-xy}

    o5 : NCIdeal

    i6 : Igb = ncGroebnerBasis I
    --Calling Bergman for NCGB calculation.
    Complete!

          2    2                2
    o6 = y x-xy ; Lead Term = (y x, 1)
           2  2                  2
         yx -x y; Lead Term = (yx , 1)
             2
         zx-y +xz; Lead Term = (zx, 1)
                2
         zy+yz-x ; Lead Term = (zy, 1)
          2                      2
         z -yx-xy; Lead Term = (z , 1)

    o6 : NCGroebnerBasis

    i7 : z^6 % Igb

                         2   2   3 3
    o7 = yxyxyx+xyxyxy+3x yxy +3x y

    o7 : A

## Ways to use this method:

- NCRingElement % NCGroebnerBasis -- Reduces a NCRingElement by a NCGroebnerBasis
- `QQ % NCGroebnerBasis`
- `ZZ % NCGroebnerBasis`

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