#18640: Topological manifolds: scalar fields
-------------------------------------+-------------------------------------
Reporter: egourgoulhon | Owner: egourgoulhon
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-7.2
Component: geometry | Resolution:
Keywords: topological | Merged in:
manifolds | Reviewers:
Authors: Eric Gourgoulhon, | Work issues:
Michal Bejger | Commit:
Report Upstream: N/A | 3b92a85394e8fc6f7572c58d0a6ce8b1bebacce2
Branch: | Stopgaps:
public/manifolds/top_manif_scalar_fields|
Dependencies: #18529 |
-------------------------------------+-------------------------------------
Comment (by egourgoulhon):
Replying to [comment:28 tscrim]:
> Yay, finally had time to go through this. So, compared to the previous
ticket, there is a lot less to discuss. I've mostly pushed a bunch of
documentation changes on my last commit.
Thank you very much for working on this !
>However, I think there are still a few things to do.
>
> - I am guessing there will eventually be another subclass of
`CoordFunction`? At present, there does not seem to be a reason to have an
ABC.
Yes there will be other subclasses of `CoordFunction`: a major project is
to have a subclass for numerical functions, in order to deal with
numerical manifolds (for instance computer-generated spacetimes on a
grid). This was the very purpose for creating this ABC: it provides the
unique interface with the rest of tensor calculus on manifolds, factoring
out what has to be implemented by a concrete class (the abstract methods).
So I think it is important to maintain the ABC.
> Moreover, you could probably make any numerical coordinate chart be
`._express` with the appropriate methods. However, I am wondering if there
should be a parent for `CoordFunction` (and have `CoordFunction` be a
subclass of `AlgebraElement`), which would allow you to not duplicate code
and use the coercion framework. Actually, perhaps `CoordFunction` should
be a subclass of `Morphism`.
OK, I will give a try to this, introducing the proper algebra (no time to
do it right now, though...)
> Also, I converted the methods in `CoordFunction` to `@abstract_method`
since these get picked up by the `TestSuite` as opposed to raising a
`NotImplementedError`.
Thanks. I didn't know about this.
> (I haven't fixed the doctests yet in case the ABC gets removed.)
>
> - I understand why you want to put "the" in the string representations
(e.g., in `ScalarFieldAlgebra`) because it is how we would say it (in
English), but this breaks convention with other parts of Sage. Moreover,
it implies a certain amount of uniqueness to the manifold. However, there
could be 2 different manifolds with the same dimension, name, etc.
>
Sorry, I am not sure I understand what you mean. Can you elaborate on
this?
> - Similarly, in the docstrings, we should change "the *" to "this *"
(sorry I didn't catch this previously).
>
> - I don't like `omit_function_args` and `nice_derivatives` being
included in the global namespace. I think these are better converted to
global options.
Agreed.
>The question becomes what to attach the global options to. I am thinking
`Manifold` (a function is a Python object too, so we can attach data to
it) and `TopologicalManifold`.
`TopologicalManifold` sounds good, since this where the charts live in the
current approach.
>Either that, or we just have one object `ManifoldOptions` into the global
namespace (but I am less favorable to this option).
>
> - There are failing doctests in `utilities.py` likely due to recent
changes in the symbolic function code (independent of my changes).
Indeed this reflects some bug in the latest pynac (cf. #20456);
fortunately it is fixed by #20475; so if the latter is merged before the
current ticket, we can leave the doctests as they are.
>
> There's still likely a few more things that might need a little bit of
attention, but I am pretty sure these are all of the main points.
--
Ticket URL: <http://trac.sagemath.org/ticket/18640#comment:29>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.