#18175: Implement categories for topological and metric spaces and related
categories
-------------------------------------+-------------------------------------
Reporter: tscrim | Owner: tscrim
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.10
Component: categories | Resolution:
Keywords: geometry, | Merged in:
topology, sd67 | Reviewers: Eric Gourgoulhon
Authors: Travis Scrimshaw | Work issues:
Report Upstream: N/A | Commit:
Branch: | d13c3688328149c08f4efbbcee91a8fd2978d91a
public/categories/topological_metric_spaces-18175| Stopgaps:
Dependencies: #18174 #17160 |
-------------------------------------+-------------------------------------
Comment (by egourgoulhon):
Replying to [comment:58 tscrim]:
> Replying to [comment:56 egourgoulhon]:
> > 1/ The new categories do not appear in the reference manual, in the
section "Individual Categories". Shouldn't they ?
>
> Yes they should and now they do.
Very good.
>
> I've added them in and I reworked the default `dist` to use the `abs`
method of the elements. I also made it so that there is a call loop
`P.metric -> E.dist -> P.dist -> E.abs -> P.metric` so one just needs to
implement one of these methods (`P` is the parent and `E` is the element).
This is a slight abuse as not all metric spaces have a `0` (more generally
a distinguished base point), nor implement subtraction. I think this is
something we can live with for now and on a followup ticket better refine
the categories for these generic metrics as most parents who additive
groups (well, this might be a stronger condition than needed, but I'm not
worrying about that now).
The default `dist` using `abs` seems reasonable at this stage. Thanks for
having added the p-adic fields.
I've merged the last commit of this ticket in all the tickets of #18528,
replacing the `Sets()` category by `Manifolds(K)`,
`Manifolds(K).Differentiable()` or `Manifolds(K).Smooth()`, with `K`=`RR`,
`QQ`, `Qp(5)` or `CC`. Everything works well!
I've just one last question:
In the examples (in `src/sage/categories/examples/manifolds.py` and
`src/sage/categories/examples/cw_complexes.py`), the parents implement the
method `an_element` and not `_an_element_` (as advised in the Parent
section of the reference manual). Is there any reason for this?
and three suggestions of typo corrections:
- in `src/sage/categories/manifolds.py`, line 70: replace
"a morphism of metric spaces between manifolds is a manifold morphism"
by
"a morphism of topological spaces between manifolds is a manifold
morphism"
- in `src/sage/categories/metric_spaces.py`, line 48: replace "is
simultaneously a
topological group by itself, and a topogological space"
by "is simultaneously a topological group by itself, and a metric space"
- in `src/sage/categories/topological_spaces.py`, there seems to be an
unnecessary import:
`from sage.misc.lazy_attribute import lazy_class_attribute`
--
Ticket URL: <http://trac.sagemath.org/ticket/18175#comment:61>
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.