#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.