Changes between Initial Version and Version 5 of Ticket #27581


Ignore:
Timestamp:
03/31/19 17:58:03 (3 years ago)
Author:
egourgoulhon
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #27581

    • Property Status changed from new to needs_review
    • Property Commit changed from to 990a858f1ce18c6537f9c6de7603dcc58f4b9cc2
    • Property Branch changed from to public/manifolds/tensor_init_comp
    • Property Cc tscrim added
  • Ticket #27581 – Description

    initial v5  
    1 At the moment, the definition of a tensor field on a differentiable manifold is a 2-step operation. For instance, for a vector field:
     1Currently (Sage 8.7), the definition of a tensor field on a differentiable manifold is a 2-step operation. For instance, for a vector field:
    22{{{
    33sage: M = Manifold(2, 'M')
     
    88-y d/dx + x d/dy
    99}}}
    10 With this ticket, this can be achieved in a single step:
     10This ticket adds the possibility to perform the definition in a single step:
    1111{{{
    1212sage: v = M.vector_field(-y, x)
     
    1919-y d/dx + x d/dy
    2020}}}
    21 on more generally any iterable, like a vector of symbolic expressions:
     21or more generally any iterable, like a vector of symbolic expressions:
    2222{{{
    2323sage: M.vector_field(vector([-y, x])).display()
     
    4141}}}
    4242
    43 ''Remark:'' the possibility of initializing the components while declaring a vector field was introduced on Euclidean spaces in #24623. This ticket extends it to any kind of differentiable manifold and any kind of tensor field. 
     43Note that the possibility of initializing the components while declaring a vector field was introduced on Euclidean spaces in #24623. This ticket extends this to any kind of differentiable manifold and any kind of tensor field.  Accordingly, the redefinition of the method `vector_field` in the class `EuclideanSpace` has been suppressed: it falls back now to the method `vector_field` of the mother class `DifferentiableManifold`.
     44
     45Basically the (optional) component initialization is performed by the method `TensorField._init_components`, which is invoked by all the end-user methods devoted to the creation of tensor fields on manifolds, i.e. the methods `automorphism_field`, `diff_form`, `multivector_field`, `one_form`, `sym_bilin_form_field`, `tensor_field` and `vector_field` of class `DifferentiableManifold`.