next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc :: symmetricAlgebra

symmetricAlgebra -- the symmetric algebra of a module

Synopsis

Description

Synopsis

  • Usage:
    symmetricAlgebra M
  • Inputs:
  • Outputs:
    • a ring, the symmetric algebra of M
i1 : R = QQ[a..d];
i2 : M = image matrix{{a,b,c}}

o2 = image | a b c |

                             1
o2 : R-module, submodule of R
i3 : symmetricAlgebra M

                     R[p , p , p ]
                        0   1   2
o3 = ---------------------------------------------
     (- b*p  + a*p , - c*p  + b*p , - c*p  + a*p )
           0      1       1      2       0      2

o3 : QuotientRing
i4 : symmetricAlgebra(R^{1,2,3})

o4 = R[p , p , p ]
        0   1   2

o4 : PolynomialRing

Most of the optional arguments for monoids (see Ring Array or monoid) are available here as well, as in the following example. They apply to the variables that correspond to the generators of the module.

i5 : A = symmetricAlgebra(M, Variables=>{x,y,z})

o5 = A

o5 : QuotientRing
i6 : describe A

                    R[x, y, z]
o6 = ---------------------------------------
     (- b*x + a*y, - c*y + b*z, - c*x + a*z)
i7 : B = symmetricAlgebra(M, VariableBaseName=>G, MonomialSize=>16)

o7 = B

o7 : QuotientRing
i8 : describe B

                     R[G , G , G ]
                        0   1   2
o8 = ---------------------------------------------
     (- b*G  + a*G , - c*G  + b*G , - c*G  + a*G )
           0      1       1      2       0      2
i9 : symmetricAlgebra(M, Degrees=> {3:1})

                     R[p , p , p ]
                        0   1   2
o9 = ---------------------------------------------
     (- b*p  + a*p , - c*p  + b*p , - c*p  + a*p )
           0      1       1      2       0      2

o9 : QuotientRing

Synopsis

  • Usage:
    symmetricAlgebra f
  • Inputs:
  • Outputs:
    • a ring map, the map between symmetric algebras induced by f
i10 : symmetricAlgebra vars R

o10 = map(R[p ],R[p , p , p , p ],{a*p , b*p , c*p , d*p , a, b, c, d})
             0     0   1   2   3      0     0     0     0

o10 : RingMap R[p ] <--- R[p , p , p , p ]
                 0          0   1   2   3

Synopsis

  • Usage:
    symmetricAlgebra(A,B,f)
  • Inputs:
    • A, a ring, the symmetric algebra of the target of f, previously computed. Optional.
    • B, a ring, the symmetric algebra of the source of f, previously computed. Optional.
    • f, a matrix
  • Outputs:
    • a ring map, the map between the specified symmetric algebras induced by f

This form of funtoriality is needed, because various options are available when computing symmetric algebras.

For a linear map that is an isomorphism, and is known to be so, e.g., by having had its inverse computed, the inverse of the corresponding map between symmetric algebras is precomputed and made available.

i11 : symmetricAlgebra vars R

o11 = map(R[p ],R[p , p , p , p ],{a*p , b*p , c*p , d*p , a, b, c, d})
             0     0   1   2   3      0     0     0     0

o11 : RingMap R[p ] <--- R[p , p , p , p ]
                 0          0   1   2   3
i12 : p = symmetricAlgebra(A,B,id_M)

o12 = map(A,B,{x, y, z, a, b, c, d})

o12 : RingMap A <--- B
i13 : p^-1

o13 = map(B,A,{G , G , G , a, b, c, d})
                0   1   2

o13 : RingMap B <--- A
i14 : p * p^-1 === id_A

o14 = true
i15 : p^-1 * p === id_B

o15 = true

Ways to use symmetricAlgebra :