This is a question about the computer algebra system Magma. I have been looking for a place to ask this type of question on the SE network and scicomp.SE was suggested to me; hopefully it finds a home here.
Suppose one has constructed a polynomial algebra $A$ over a ring $R$ in Magma. How does one construct the sub-$R$-algebra of $A$ generated by a given list of elements of $A$?
This seems to me to be a very basic operation so I can't believe there isn't a way to do it, but I haven't so far found it in the handbook. (I see functionality to construct subalgebras of matrix algebras and of endomorphism rings of abelian varieties, but not polynomial rings.)
EDIT 11/3/15:
1) As the functionality of Magma may vary with the ring $R$, take $R=\mathbb{Z}$.
2) hardmath suggests in comments to construct the desired subring as the quotient of another polynomial ring. I take him to mean as the image of a map from another polynomial ring. I tried to implement this in a test case as follows:
A := PolynomialRing(IntegerRing(), 3); s1 := ElementarySymmetricPolynomial(A,1); s2 := ElementarySymmetricPolynomial(A,2); s3 := ElementarySymmetricPolynomial(A,3); B := PolynomialRing(IntegerRing(),3); f := hom< B ->A | s1,s2,s3>; S := Image(f); I get a Runtime error: No constructor provided for this type of object message when Magma tries to implement Image(f).