#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|  
8a747c073e706950d1b14e77458539e126ff0550
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by jhpalmieri):

 When you initialize a filtered object, you could pass an argument saying
 how it is filtered:
 {{{
 FilteredObject(A, filtration=fcn)
 }}}
 where `A` is an object and `fcn` is a function which takes an element of
 `A` as input and returns an element of the filtering monoid. (Change
 'object' to 'algebra', 'module', 'group', 'ring', throughout if you'd
 rather.) So a simple example could be
 {{{
 FilteredObject(A, filtration=degree)
 }}}
 but you could also have
 {{{
 FilteredObject(A, filtration=smith_filtration)
 FilteredObject(A, filtration=lambda x: 2 + 3*x.jones_filtration())
 FilteredObject(A, filtration=lambda x: 0 if x.is_zero() else Infinity)
 ...
 }}}
 One point is that, even if an object has many possible filtrations, when
 you consider it as a filtered object, you are at that point choosing a
 filtration. It's like the difference between a `Module` and a
 `ModuleWithBasis`. I guess I should have called this
 `ObjectWithFiltration` instead? Anyway, it's not `FilterableObject`,
 allowing for multiple possible filtrations, it's `FilteredObject`.

 If the `filtration` keyword is missing, then perhaps first you see if the
 `Element` class has a `filtration` method, and if not, you see if it has a
 `degree` method.

--
Ticket URL: <http://trac.sagemath.org/ticket/17096#comment:63>
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