Given a (Schur) ring S, the function symmetricRing returns a (Symmetric) ring R that is associated to S in a natural way. Namely, if the attribute S.symmetricRing points to a ring, then the function returns that ring. If S is not a Schur ring, then the function returns S. Otherwise, if S is a Schur ring, then the function constructs a polynomial ring over the Symmetric ring R_A of the base ring A of R, having the same relative dimension over R_A as S over A.
i1 : A = schurRing(QQ,a,6); |
i2 : B = schurRing(A,b,3); |
i3 : symmetricRing B o3 = QQ[e ..e , p ..p , h ..h ][e ..e , p ..p , h ..h ] 1 6 1 6 1 6 1 3 1 3 1 3 o3 : PolynomialRing |
i4 : symmetricRing ZZ o4 = ZZ o4 : Ring |