Hi Martin, I plan to look closely at this this week. Unfortunately I cannot offer anything quick now.
Best, Travis On Monday, February 12, 2024 at 2:42:52 AM UTC+9 Martin R wrote: > Apart from that, I think the last bit I need to do is to make the > TensorProductFunctor inherit from MultivariateConstructionFunctor, to make > coercion work for things like > > sage: h = SymmetricFunctions(ZZ).h() > sage: T = tensor([h, h]) > sage: T.base_ring() > Integer Ring > sage: 1/2*T.an_element() > > (which currently raises TypeError: unsupported operand parent(s) for *: > 'Rational Field' and 'Symmetric Functions over Integer Ring in the > homogeneous basis # Symmetric Functions over Integer Ring in the > homogeneous basis') > > Am I on the right track? > > Martin > On Sunday 11 February 2024 at 12:34:44 UTC+1 Martin R wrote: > >> At https://github.com/sagemath/sage/pull/37220, I implemented a (simple >> minded) construction functor for symmetric functions. >> >> The only major user visible change should be that >> >> sage: sZ = SymmetricFunctions(ZZ).s() >> sage: sQ = SymmetricFunctions(QQ).s() >> sage: sZ[1,1] + sQ[2] >> s[1,1] + s[2] >> >> now works. This, and a little bit more, is what I need for my lazy >> symmetric functions project. >> >> Under the hood, the pull request replaces `corresponding_basis_over` with >> a proper construction functor which, however, follows the same spirit: >> every basis of symmetric functions has to provide a description on how to >> create it, by storing the appropriate method names. >> >> There is a todo note by Darij Grinberg from 2013 that this is an ugly >> hack, and I agree, but nobody came up with anything better in the last 11 >> years, so we might as well go with the idea which is working, at least for >> the moment. >> >> There is one more uglyness I have to mention: I describe the functor as a >> functor on the category of commutative rings, which is not true in >> general. For example, for Macdonald polynomials, the functor really is >> from the category of commutative rings with two distinguished elements. I >> am guessing that creating a category RingsWithDistinguishedElements is a >> bit much, and I wouldn't know how to do it. >> >> Comments (and, of course, also a review) would be greatly appreciated! >> >> Martin >> > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/5f537ee8-c7a1-4199-bfcd-341336fd293bn%40googlegroups.com.