Macaulay2 » Documentation
Packages » InvolutiveBases :: multVar
next | previous | forward | backward | up | index | toc

# multVar -- extract the sets of multiplicative variables for each generator (in several contexts)

- Usage:
    `m = multVar(J) or m = multVar(C,n) or m = multVar(F)`
- Inputs:
  - J, an instance of the type InvolutiveBasis
  - C, a complex
  - n, an integer
  - F, an instance of the type FactorModuleBasis
- Outputs:
  - m, a list, list of sets of variables of the polynomial ring

## Description

If the argument of multVar is an instance of the type InvolutiveBasis, then the i-th set in m consists of the multiplicative variables for the i-th generator in J.

If the arguments of multVar are a complex and an integer, where C is the result of either janetResolution or freeResolution called with the optional argument 'Strategy => Involutive', then the i-th set in m consists of the multiplicative variables for the i-th generator in the n-th differential of C.

If the argument of multVar is an instance of the type FactorModuleBasis, then the i-th set in m consists of the multiplicative variables for the i-th monomial cone in F.

    i1 : R = QQ[x,y];

    i2 : I = ideal(x^3,y^2);

    o2 : Ideal of R

    i3 : J = janetBasis I;

    i4 : multVar J

    o4 = {set {y}, set {y}, set {y, x}, set {y}}

    o4 : List

    i5 : R = QQ[x,y,z];

    i6 : I = ideal(x,y,z);

    o6 : Ideal of R

    i7 : C = freeResolution(I, Strategy => Involutive)

          1      3      3      1
    o7 = R  <-- R  <-- R  <-- R  <-- 0

         0      1      2      3      4

    o7 : Complex

    i8 : multVar(C, 2)

    o8 = {set {z, y, x}, set {z, y, x}, set {z, y}}

    o8 : List

    i9 : R = QQ[x,y,z];

    i10 : M = matrix {{x*y,x^3*z}};

                  1      2
    o10 : Matrix R  <-- R

    i11 : J = janetBasis M

          +---+---------+
    o11 = |x*y|{z, y}   |
          +---+---------+
          | 2 |         |
          |x y|{z, y}   |
          +---+---------+
          | 3 |         |
          |x z|{z, x}   |
          +---+---------+
          | 3 |         |
          |x y|{z, y, x}|
          +---+---------+

    o11 : InvolutiveBasis

    i12 : F = factorModuleBasis J

          +--+------+
    o12 = |1 |{z, y}|
          +--+------+
          |x |{z}   |
          +--+------+
          | 2|      |
          |x |{z}   |
          +--+------+
          | 3|      |
          |x |{x}   |
          +--+------+

    o12 : FactorModuleBasis

    i13 : basisElements F

    o13 = | 1 x x2 x3 |

                  1      4
    o13 : Matrix R  <-- R

    i14 : multVar F

    o14 = {set {z, y}, set {z}, set {z}, set {x}}

    o14 : List

## See also

- janetBasis -- compute Janet basis for an ideal or a submodule of a free module
- janetMultVar -- return table of multiplicative variables for given module elements as determined by Janet division
- pommaretMultVar -- return table of multiplicative variables for given module elements as determined by Pommaret division
- basisElements -- extract the matrix of generators from an involutive basis or factor module basis
- janetResolution -- construct a free resolution for a given ideal or module using Janet bases
- Involutive -- compute a (usually non-minimal) resolution using involutive bases
- factorModuleBasis -- enumerate standard monomials

## Ways to use multVar:

- `multVar(Complex,ZZ)`
- `multVar(FactorModuleBasis)`
- `multVar(InvolutiveBasis)`

## For the programmer

The object multVar is a method function.

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