On May 19, 3:55 pm, "Nicolas M. Thiery" <nicolas.thi...@u-psud.fr> wrote: > Hi John! > > On Wed, May 19, 2010 at 03:40:44PM -0700, John H Palmieri wrote: > > On May 19, 3:02 pm, "Nicolas M. Thiery" <nicolas.thi...@u-psud.fr> > > wrote: > > > On Wed, May 19, 2010 at 02:25:22PM -0700, John Palmieri wrote: > > > > - Should I do anything with the new categories framework? I've > > > > defined a "category" method for the algebra, but should I do anything > > > > else? > > > > > - I'm working on a differential graded algebra, in fact. It is a > > > > "graded algebra with basis" (and it's actually Z x Z graded, so a > > > > "bigraded algebra with basis"); do I need to do anything special about > > > > this? I've defined a "basis" method already which returns the basis > > > > in each bidegree as a Python list. > > > > As a short first answer, please try: > > > > sage: A = AlgebrasWithBasis(QQ).example() > > > Yes, I saw that. It looks like I should try to define my algebra > > (call it L) as a CombinatorialFreeModule and implement at least > > one_basis, product_on_basis, and algebra_generators. Unfortunately, > > there is no corresponding example for GradedAlgebrasWithBasis, and the > > framework for graded objects doesn't seem very complete. So should I > > specify the basis for the CombinatorialFreeModule using some family, > > and then attach some sort of grading to the basis elements to induce a > > grading on L? That seems awkward -- it is important, at least for > > this example, to be able to easily extract the basis in any given > > (bi)degree, so it seems better to define a function specifying the > > basis in each degree. What do you think? > > > If that's right, then I don't see how to conveniently construct L as a > > CombinatorialFreeModule; rather, it is an infinite direct sum of > > (finite-dimensional) such objects, and I need to be able to consider > > each piece as well as the whole. > > Yes, real support for graded enumerated sets / algebras is still to > come. Now I really need to jump to bed; in the mean time, you may want > to have a look at DisjointUnionEnumeratedSets!
I'm sorry, but I can't see how to use this. I'm stuck with the whole thing, in fact. (I'm not stuck with a Sage implementation, but I am stuck with an implementation using the new categories framework.) Let me provide some details: my algebra L is a bigraded algebra over GF(p) (there is one algebra L for each prime p). I don't know a simple way to list the basis elements; instead, if I want a basis in a particular bidegree (s,t), I build it recursively using the algebra generators and the bases in bidegrees (s', t') for various s' < s and t' < t. Thus, for example, I don't know offhand the dimension in each bidegree. As a result, I don't see how to implement this with families or DisjointUnionEnumeratedSets. (In case it helps: at the prime 2, the basis in bidegree (s,t) is in bijection with length s partitions (i_1, i_2, ..., i_s) of t-s that don't increase too fast: for each j, 2i_j >= i_{j+1}. It's similar but a bit more complicated at odd primes.) Anyway, if you have more suggestions, I would appreciate it. -- John -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org