#17096: Implement categories for filtered algebras
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  tscrim
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.4
      Component:  categories         |   Resolution:
       Keywords:  filtered algebras  |    Merged in:
        Authors:  Travis Scrimshaw   |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  public/categories/filtered_algebras-17096|  
b29f67e46e18721313330d3a6e116cf3df2eaf8e
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by tscrim):

 @darij
 I really don't like the restrictions of this contract you want to impose;
 it's too restrictive. It should not take a new *class* to do something
 which is mathematically trivial (by our current implementation of an
 implicit filtration). IMO, the better way to do things is to implement
 additional methods in the category for the projections (similar to
 `truncate`) since the methods only use the `degree` methods. Also I think
 requesting a conversion for the returned object `graded_algebra` is fine,
 but not making it a requirement.

 As for the induced morphisms, we might actually want to make the method a
 functor object. This I think will solve many of the issues you want to do
 with contracts.

 All I wanted with the `AssociatedGradedAlgebra` class was to prove a
 generic implementation do to the computations and the method
 `graded_algebra` just to return an object which *is* the associated graded
 algebra. My implementation of `AssociatedGradedAlgebra` just happens to
 have the need for the extra data.

 Every `FilteredAlgebrasWithBasis` is a subcategory of
 `FilteredModulesWithBasis`. I'm okay with this move. If we use methods
 (instead of contracts) at the `FilteredModules` level (perhaps
 `WithBasis`), then we could implement a very lightweight class for this,
 but I'm worried about having the extra burden of methods that only are
 really useful for modules (and get superseded for "better" named methods).
 Although if we use a functor to do the construction, then I feel like we
 get away from all of it.

 However I feel that much of this should be done on followup ticket(s) as
 getting the basic framework into Sage can be split and doesn't need the
 full features to be useful.

 @jhpalmieri
 I'll make those changes. However we can't get a descending filtration
 unless the grading set can be negated. As for algebras that are both
 filtered and graded, it's the same issue as when an algebra has 2 natural
 gradings (as we use `degree` for both filtration and grading). Although as
 things evolve and the filtration can be generalized from using `degree`,
 this can be rectified. For now, you have to choose the "best" one for
 `degree` (or have it be an optional arg like how I'm doing for Clifford
 algebras).

 @nbruin
 Will fix. Forgot that the categories are not collectible.

--
Ticket URL: <http://trac.sagemath.org/ticket/17096#comment:37>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to