New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
values() method for lazy families #15349
Comments
Attachment: trac_15349-lazy-family-values-dg.patch.gz |
Changed author from Darij GRinberg to Darij Grinberg |
comment:3
I think it's CombinatorialFreeModule that should be fixed to not use
By the way, this gens method would fit better in the ModulesWithBasis category (with a sanity check that it's not infinite dimensional), or better in ModulesWithBasis.FiniteDimensional (note: check for potential conflicts with #11111). |
comment:4
OK; I'll rather leave this to you people. But are the changes I've done here any good? |
comment:5
Hi Darij! Unless we later find a compelling use case, I'd say for now it's just a temporary workaround; so keep it around for yourself, or even push it in the "queue" (or whatever will happen to it); but for now I would not get this change in Sage unless it's really needed for some other ticket. Cheers, |
comment:6
Hi Nicolas, thanks for looking into it. I'll change status to "new" then. I probably am not going to do anything about ModulesWithBasis myself, but I'd welcome any improvements on that class. Best regards, Darij |
The attached patch provides a
values()
method for lazy families. While not very useful in the infinite case, it helps avoiding things like this:(The
gens
method on combinatorial free modules was introduced in #13214, and returnstuple(self.basis().values())
, so the error appears every time a basis is a lazy family rather than a regular finite family, even if the lazy family is finite!) Of course, the symmetric group algebra has a more economical generating set than this, but I assume other combinatorial free modules still profit from this.(That said, I never understood how to tell from inside code whether
gens()
returns an algebra generating set or a module generating set... Can anyone enlighten me on that?)Someone please assure me whether the keys of a lazy(!) family can be assumed ordered. They seem to be stored as a
set
, which I never fully understood. If their order is system-dependent, that should probably be said in the doc of thevalues()
method.The patch also removes some warnings which were made over 4 years ago (#5538).
CC: @hivert @nthiery @sagetrac-sage-combinat @tscrim
Component: categories
Keywords: family, lazy family, free module
Author: Darij Grinberg
Issue created by migration from https://trac.sagemath.org/ticket/15349
The text was updated successfully, but these errors were encountered: