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 : S = symmetricAlgebra R^3 |
i3 : describe S |
The dollar signs used in displaying the names of the variables indicate that the names were invented for us, and are not available by typing them, but you can get them in the usual way by indexing.
i4 : S_0+S_4 |
i5 : S_"$x_0" |
To specify the names of the variables when creating the ring, use the Variables option.
i6 : S = symmetricAlgebra(R^3, Variables => {t,u,v}) |
We can construct the symmetric algebra of a module that isn't necessarily free.
i7 : symmetricAlgebra(R^1/(R_0,R_1^3), Variables => {t}) |