Given a ring R, the function schurRing attempts to return a Schur ring S that is associated to R in a natural way. Namely, if the attribute R.Schur points to a Schur ring, then the function returns that ring. If R is already a Schur ring, then the ring R is returned. Otherwise, if the Schur level of R is at least one, then the function constructs a Schur ring over the base ring A of R, having the same relative dimension over A as R. If the Schur level of R is zero, then an error is returned.
i1 : R = schurRing(QQ,r,6); |
i2 : schurRing R o2 = R o2 : SchurRing |
i3 : Q = symmetricRing(QQ,3); |
i4 : A = schurRing Q; |
i5 : schurRing Q o5 = A o5 : SchurRing |