#18843: Differentiable manifolds: vector fields and tensor fields
-------------------------------------+-------------------------------------
       Reporter:  egourgoulhon       |        Owner:  egourgoulhon
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-7.3
      Component:  geometry           |   Resolution:
       Keywords:  differentiable     |    Merged in:
  manifold, tensor field, vector     |
  field, differential form           |
        Authors:  Eric Gourgoulhon,  |    Reviewers:  Travis Scrimshaw
  Michal Bejger                      |
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  public/manifolds/diff_manif_tensor_fields|  
3ab0af048e9ba51f09752a02f0d6544a53ffe15e
   Dependencies:  #15916,  #18783,   |     Stopgaps:
  #20770                             |
-------------------------------------+-------------------------------------
Changes (by tscrim):

 * status:  needs_review => needs_work
 * commit:  2150a43db88da8007dd6b35b1a5c6876e1c67eab =>
     3ab0af048e9ba51f09752a02f0d6544a53ffe15e
 * reviewer:   => Travis Scrimshaw


Comment:

 Okay, here's the first round. Overall, the code looks okay, but I haven't
 check things in detail yet. I've made my way through most of the doc;
 there are likely some other doc fixes that I will need to do, but I've
 done a fair bit of clean-up. However, there are some issues:

 - To run the tests on `tensorfield.py` takes ~172 seconds (that is after
 marking a bunch of them as `# long time`). This is too long IMO, and we
 need to either find a way to speed things up or simplify the tests somehow
 (smaller manifolds perhaps?) so they don't take so long. One or two non-
 trivial top-level examples are good. For the doctests, it just needs to be
 small examples showing the functionality. For any more complicated
 examples needed to do a more complete test should either be relatively
 small (in terms of number of lines) and be marked as `# long time` or you
 need to have a separate file with the complete examples where most (all?)
 tests are marked as `# long time`.

 - I'm not sure about importing `xder` into the global namespace.
 `exterior_derivative` I am okay with since it is explicit, but `xder` is
 not a descriptive name IMO. If you want it, then you can import it in your
 `init.sage` file (in the `~/.sage` folder).

 - I added some long versions of each of the names. It is good to at least
 have the long name. I actually changed `exterior_der` to
 `exterior_derivative`. I am not opposed to having an alias to `xder`
 though.

 - While in general, it is good to adhere to 80 character lines, sometimes
 it just makes it harder read (which is why it is a guideline). I exercised
 some judgment and made some lines go over this because IMO they become
 easier to read.

 - We will probably want to use the coercion framework, so `__mul__` which
 handles the scalar action should become `acted_upon` or `_rmul_` (and
 `_lmul_`).

 I believe this is the biggest of the remaining !SageManifolds tickets, so
 we just need to power through this and the rest should be easy...

--
Ticket URL: <https://trac.sagemath.org/ticket/18843#comment:35>
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