Usage:
<symmalg m n old new
Compute the symmetric algebra, n, of the module presented by
the matrix m. "old" and "new" are ideals containing the variables
coming from the ring, and the rows of m, respectively.
Parameters:
m = axb matrix
Output values:
n = symmetric algebra of m, an ideal over a new ring S.
old = ideal of the variables of S corresponding to base ring of m.
new = ideal of the variables of S corresponding to the rows of m.
The symmetric algebra is obtained from m by adding "a" variables to
the base ring of m, one for each row of the matrix m, and then multiplying
the matrix m by the vector of these new variables.
More specifically, the functor S*(-) (symmetric algebra) is right exact:
If R^b ---> R^a ---> M ---> 0 is exact, then
S*(R^b) ---> S*(R^a) ---> S*(M) ---> 0.
This gives us a presentation for S*M, as a factor ring of S*(R^a), which
is precisely the ring S above. Notice that the equations defining
S*M all have degree one in the "new" variables.