Changes between Initial Version and Version 1 of Ticket #25393, comment 14


Ignore:
Timestamp:
05/30/18 16:19:40 (3 years ago)
Author:
egourgoulhon
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #25393, comment 14

    initial v1  
    55- `ContinousMap` objects are "in spirit" immutable: they represent continuous maps between topological manifolds and once such a map is defined, there is no meaning in modifying it. However, in practice, such maps cannot be fully defined at their creation by the user, because some new charts may be introduced on the fly on the manifold and a given map should be able to have coordinate expressions in terms of these charts, hence the methods `add_expr` and `set_expr`.
    66
    7 - `ContinousMap` (more precisely the derived class `DiffMap`) needs to be hashable because `DiffMap` objects serve as keys in the dictionary of vector field modules on a manifold (see here [http://doc.sagemath.org/html/en/reference/manifolds/sage/manifolds/differentiable/vectorfield_module.html here] for details).
     7- `ContinousMap` (more precisely the derived class `DiffMap`) needs to be hashable because `DiffMap` objects serve as keys in the dictionary of vector field modules on a manifold (see [http://doc.sagemath.org/html/en/reference/manifolds/sage/manifolds/differentiable/vectorfield_module.html here] for details).
    88
    99- I understand that the `__hash__` method inherited from `Morphism` relies on the `repr` of the continuous map and in some cases (maps `f` and `g` having the same domain, codomain, but different names given by the user), one may have `f == g` with `hash(f) != hash(g)`, which is very bad!