#10963: Axioms and more functorial constructions
-------------------------------------+-------------------------------------
Reporter: nthiery | Owner: stumpc5
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-6.2
Component: categories | Resolution:
Keywords: days54 | Merged in:
Authors: Nicolas M. Thiéry | Reviewers: Simon King, Frédéric
Report Upstream: N/A | Chapoton
Branch: | Work issues: merge with #15801
public/ticket/10963-doc- | once things stabilize
distributive | Commit:
Dependencies: #11224, #8327, | cd4f5f92cd415902ea2118292954a5685c6f8cfd
#10193, #12895, #14516, #14722, | Stopgaps:
#13589, #14471, #15069, #15094, |
#11688, #13394, #15150, #15506, |
#15757, #15759, #15919 |
-------------------------------------+-------------------------------------
Comment (by nthiery):
Replying to [comment:605 darij]:
> I've just lost a post I was trying to make by entrusting it to Firefox
and the fucking trac server.
Luckily, there is a good workaround: using the It's All Text extension:
https://addons.mozilla.org/fr/firefox/addon/its-all-text/
Never lost a post since then :-)
> Basically I've finished reading the `category_with_axiom.py` class-
level doc; I don't have much to comment on it (but please check my commits
because they can contain landmines). I have ignored the remarks about
`Category_singleton` because I have no idea what it is (if it is
important, it deserves to be at least mentioned in the primer -- but this
isn't related to #10963),
There is a link to the documentation of Category_singleton, which states:
{{{
A base class for implementing singleton category
A *singleton* category is a category whose class takes no
parameters like ``Fields()`` or ``Rings()``. See also the
`Singleton design pattern
<http://en.wikipedia.org/wiki/Singleton_pattern>`_.
This is a subclass of :class:`Category`, with a couple
optimizations for singleton categories.
}}}
Is this enough?
> and I didn't really understand the algorithm: its recursive structure
reminds me of Buchberger's, but I don't see where the list of categories
to join ever becomes smaller -- i.e. how redundancy is removed;
Theoretically speaking, one is calculating the upper set of all the
super categories (proper or not) of the result, starting from some
seeds and making it bigger and bigger and bigger until it's
"closed". In particular, it never gets smaller.
Of course, in practice, it's best to describe such an upper set by its
minimal elements. And with some luck, there are only few of them, if
not just one at the end.
> also, it probably would help to clarify if your ``Bs`` range over all
supercategories (proper, I assume?) or only the intermediate ones.
Only the direct super categories. I just made the change and will push
soon.
> Is there a way to reword the algorithm in terms of semilattices given by
generators and relations, without any mention of categories and Sage? I
feel it would somewhat simplify understanding.
I believe that doing it in term of generators and relations (like
e.g. Simon did) just makes it seemingly harder because it suggests
there could be various issues of term ordering, confluence, ...
It's more about having a semilattice and some operations on it (adding
certain axioms), and computing closures of upper sets under those
operations. I am not sure that making an abstract model for this would
make the algorithm easier to understand. I could try though if you
have a strong opinion about this.
> That said (and the comments on lag, memory leaks and the unclarity of
subcategories notwithstanding), the doc is still very well-written.
:-)
Please proofread my latest change, and state whether you think the
documentation part of this ticket is good to go!
--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:608>
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.