# Singular

#### D.3.1.29 symmetricBasis

Procedure from library `matrix.lib` (see matrix_lib).

Return:
ring, poynomial ring containing the ideal "symBasis", being a basis of the k-th symmetric power of an n-dim vector space.

Note:
The output polynomial ring has characteristics 0 and n variables named "S(i)", where the base variable name S is either given by the optional string argument(which must not contain brackets) or equal to "e" by default.

Example:
 ```LIB "matrix.lib"; // basis of the 3-rd symmetricPower of a 4-dim vector space: def R = symmetricBasis(4, 3, "@e"); setring R; R; // container ring: ==> // coefficients: QQ ==> // number of vars : 4 ==> // block 1 : ordering dp ==> // : names @e(1) @e(2) @e(3) @e(4) ==> // block 2 : ordering C symBasis; // symmetric basis: ==> symBasis[1]=@e(4)^3 ==> symBasis[2]=@e(3)*@e(4)^2 ==> symBasis[3]=@e(3)^2*@e(4) ==> symBasis[4]=@e(3)^3 ==> symBasis[5]=@e(2)*@e(4)^2 ==> symBasis[6]=@e(2)*@e(3)*@e(4) ==> symBasis[7]=@e(2)*@e(3)^2 ==> symBasis[8]=@e(2)^2*@e(4) ==> symBasis[9]=@e(2)^2*@e(3) ==> symBasis[10]=@e(2)^3 ==> symBasis[11]=@e(1)*@e(4)^2 ==> symBasis[12]=@e(1)*@e(3)*@e(4) ==> symBasis[13]=@e(1)*@e(3)^2 ==> symBasis[14]=@e(1)*@e(2)*@e(4) ==> symBasis[15]=@e(1)*@e(2)*@e(3) ==> symBasis[16]=@e(1)*@e(2)^2 ==> symBasis[17]=@e(1)^2*@e(4) ==> symBasis[18]=@e(1)^2*@e(3) ==> symBasis[19]=@e(1)^2*@e(2) ==> symBasis[20]=@e(1)^3 ```