Macaulay2 » Documentation
Packages » MultigradedImplicitization :: computeComponent
next | previous | forward | backward | up | index | toc

# computeComponent -- Finds all minimal generators of a given multidegree in the kernel of a ring map

- Usage:
    `computeComponent(deg, dom, F, M)`
    `computeComponent(deg, dom, F, B)`
    `computeComponent(deg, dom, F)`
- Inputs:
  - deg, a list, the degree of the homogeneous component to compute
  - dom, a ring, a graded ring which is the source of a homogeneous ring map $F$
  - F, a ring map, a map whose kernel is homogeneous in the grading of dom
  - M, a matrix, a monomial basis for the homogeneous component of deg with degree deg
  - B, a hash table, a hashtable which contains all bases of homogeneous components which correspond to lower total degrees than deg
- Optional inputs:
  - PreviousGens => a list, default value {}, a list of generators of the kernel which have lower total degree
- Outputs:
  - a matrix, A list of minimal generators for $\ker(F)$ which are in the homogeneous component of degree deg

## Description

Computes all minimal generators of $\ker(F)$ which are in the homogeneous component of degree deg

    i1 : A = matrix {{1,1,1,0,0,0}, {0,0,0,1,1,1}, {1,0,0,1,0,0}, {0,1,0,0,1,0}, {0,0,1,0,0,1}}

    o1 = | 1 1 1 0 0 0 |
         | 0 0 0 1 1 1 |
         | 1 0 0 1 0 0 |
         | 0 1 0 0 1 0 |
         | 0 0 1 0 0 1 |

                  5       6
    o1 : Matrix ZZ  <-- ZZ

    i2 : R = QQ[x_(1,1)..x_(2,3)];

    i3 : S = QQ[t_1..t_2, s_1..s_3];

    i4 : F = map(S, R, {t_1*s_1, t_1*s_2, t_1*s_3, t_2*s_1, t_2*s_2, t_2*s_3})

    o4 = map (S, R, {t s , t s , t s , t s , t s , t s })
                      1 1   1 2   1 3   2 1   2 2   2 3

    o4 : RingMap S <-- R

    i5 : dom = newRing(R, Degrees => A);

    i6 : computeComponent({1,1,0,1,1}, dom, F)

    o6 = {x   x    - x   x   }
           1,3 2,2    1,2 2,3

    o6 : List

The option PreviousGens can be used to specify a set of previously computed generators. In the case that a monomial basis or hash table of monomial bases is not given then trimBasisInDegree will be used to compute a monomial basis and PreviousGens will be used to trim this basis.

## Ways to use computeComponent:

- `computeComponent(List,Ring,RingMap)`
- `computeComponent(List,Ring,RingMap,HashTable)`
- `computeComponent(List,Ring,RingMap,Matrix)`

## For the programmer

The object computeComponent is a method function with options.

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