next | previous | forward | backward | up | top | index | toc | home
Macaulay2 > rings > symmetric algebras

symmetric algebras

Polynomial rings are symmetric algebras with explicit generators, and we have already seen how to construct them. But if you have a module, then its symmetric algebra can be constructed with symmetricAlgebra.
i1 : R = QQ[a..d];
i2 : symmetricAlgebra R^3

o2 = QQ [p , p , p , p , p , p , p ]
          0   1   2   3   4   5   6

o2 : PolynomialRing
Until the ring is used with use or assigned to a global variable, its generators are not assigned to global variables.
i3 : a

o3 = a

o3 : R
i4 : p_0

o4 = p
      0

o4 : IndexedVariable
i5 : S = o2;
i6 : a

o6 = a

o6 : R
i7 : p_0

o7 = p
      0

o7 : S
To specify the names of the variables when creating the ring, use the Variables option or the VariableBaseName option.
i8 : symmetricAlgebra(R^3, Variables => {t,u,v})

o8 = QQ [p , p , p , p , p , p , p ]
          0   1   2   3   4   5   6

o8 : PolynomialRing
i9 : symmetricAlgebra(R^3, VariableBaseName => t)

o9 = QQ [t , t , t , t , t , t , t ]
          0   1   2   3   4   5   6

o9 : PolynomialRing
We can construct the symmetric algebra of a module that isn't necessarily free.
i10 : use R

o10 = R

o10 : PolynomialRing
i11 : symmetricAlgebra(R^1/(a,b^3))

      QQ [p , p , p , p , p ]
           0   1   2   3   4
o11 = -----------------------
                      3
            (p p , p p )
              0 1   0 2

o11 : QuotientRing