#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             |
-------------------------------------+-------------------------------------
Changes (by tscrim):

 * status:  needs_review => needs_info
 * milestone:  sage-7.0 => sage-7.2


Comment:

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

   Also, I converted the methods in `CoordFunction` to `@abstract_method`
 since these get picked up by the `TestSuite` as opposed to raising a
 `NotImplementedError`. (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.

 - 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. 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`. 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).

 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:28>
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.

Reply via email to