Changes between Initial Version and Version 1 of Ticket #25393, comment 14
 Timestamp:
 05/30/18 16:19:40 (4 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

Ticket #25393, comment 14
initial v1 5 5  `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`. 6 6 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). 8 8 9 9  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!