#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|  
dcb08fc969128ca01e9c5bb88ec1cd93aba334ff
   Dependencies:  #15916,  #18783,   |     Stopgaps:
  #20770                             |
-------------------------------------+-------------------------------------

Comment (by egourgoulhon):

 Replying to [comment:35 tscrim]:
 > - 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`.

 By selecting simpler examples, the last commit decreases by a factor ~2
 the doctest time of `tensorfield.py`. It's difficult to go below this
 because the manifold dimension is already at its minimum (for a non-
 parallelizable manifold): it is 2 for all tests.

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

 `xder` is no longer in the global namespace. I've also suppressed
 `exterior_derivative`, but maybe we can restore the latter, as you
 suggest.


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

 In the same spirit, I have renamed `lie_der` to `lie_derivative` and set
 `lie_der` as an alias to it.
 >
 >
 > - We will probably want to use the coercion framework, so `__mul__`
 which handles the scalar action should become `acted_upon` or `_rmul_`
 (and `_lmul_`).
 >

 Actually `_rmul_` is already implemented in tensor fields and handles the
 scalar action. The current `__mul__` handles mostly the tensor product.
 Since this is an external operation (w.r.t. the parent module), I am not
 sure that it can be changed to some single underscore method within the
 coercion framework. Note that we already had `__mul__` for handling tensor
 products in ` sage.tensor.modules.free_module_tensor.FreeModuleTensor`.

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