There is currently one restriction: if $f$ is a matrix, then it must have only one row, and be a map of free modules, as in this example.
i1 : R = ZZ/101[a..d] o1 = R o1 : PolynomialRing |
i2 : symmetricPower(2,vars R) o2 = | a2 ab ac ad b2 bc bd c2 cd d2 | 1 10 o2 : Matrix R <--- R |
If G --> F --> M --> 0 is a presentation for the module M = coker(f:G-->F), then symmetricPower(i,f) is the cokernel of the map symmetricPower(i-1,F) ** G --> symmetricPower(i,F).
i3 : R = ZZ/101[a,b] o3 = R o3 : PolynomialRing |
i4 : symmetricPower(2,image vars R) o4 = cokernel {2} | -b 0 | {2} | a -b | {2} | 0 a | 3 o4 : R-module, quotient of R |
The object symmetricPower is a method function.