Macaulay2 » Documentation
Packages » InverseSystems :: fromDual
next | previous | forward | backward | up | index | toc

fromDual -- Ideal from inverse system

Synopsis

Description

The matrix (or ring element) f is interpreted as an element of the linear dual of the base polynomial ring, where the monomial in f are interpreted as monomials in the divided power basis (the dual basis of the monomial basis of ring f. Thus

fromDual f = gens inverseSystem (f, DividedPowers => true).

See the documentation nodes for InverseSystems for the theory, and inverseSystem for the function. Note that the operation of fromDual is not equivariant with respect to the general linear group, acting by change of basis. This not a bug, but follows because fromDual uses the divided power basis. If equivariant behavior is desired, use the option DividedPowers=>false (which is the default behavior of inverseSystem):

i1 : S = ZZ/101[x,y]

o1 = S

o1 : PolynomialRing
i2 : f1 = x^2

      2
o2 = x

o2 : S
i3 : f2 = (x+y)^2

      2           2
o3 = x  + 2x*y + y

o3 : S
i4 : betti res ideal fromDual f1

            0 1 2
o4 = total: 1 2 1
         0: 1 1 .
         1: . . .
         2: . 1 1

o4 : BettiTally
i5 : betti res ideal fromDual f2

            0 1 2
o5 = total: 1 2 1
         0: 1 . .
         1: . 2 .
         2: . . 1

o5 : BettiTally
i6 : betti res (I = ideal fromDual(f2, DividedPowers => false))

            0 1 2
o6 = total: 1 2 1
         0: 1 1 .
         1: . . .
         2: . 1 1

o6 : BettiTally
i7 : I == inverseSystem (f2, DividedPowers => false)

o7 = true
i8 : inverseSystem (f2, DividedPowers => true)

                    2   2    2
o8 = ideal (x*y - 2y , x  - y )

o8 : Ideal of S
i9 : ideal fromDual(f2, DividedPowers => false)

                    3   3
o9 = ideal (x - y, x , y )

o9 : Ideal of S
i10 : ideal fromDual(f2, DividedPowers => true)

                     2   2    2   3   3
o10 = ideal (x*y - 2y , x  - y , x , y )

o10 : Ideal of S

Caveat

The Base ring of the input must be a standard graded polynomial ring over a field.

Logically, the output of fromDual should be an ideal, not a matrix, but the original function was converted from the classic Macaulay, where this distinction was not made.

See also

Ways to use fromDual :

For the programmer

The object fromDual is a method function with options.