Hi sage-dev, There is an ongoing discussion at #18529 <http://trac.sagemath.org/ticket/18529> about defining __eq__ for manifolds and whether one should use UniqueRepresentation (which implements equality by id). If anybody has any opinion on this, she/he is welcome to join the discussion.
The context is as follows: - Manifolds are parents, whose elements are points. - Manifolds are characterized by a user-defined atlas, which is a list of coordinate charts defined on the fly by the user, along with transition maps. "Defined on the fly" means that charts are added to the atlas during the working session. In particular, the atlas is not set at the manifold construction. - Two points are declared equal iff they have the same coordinates in the same chart. - Mathematically speaking, two manifolds are equal if they have the same maximal atlas, not the same "user-defined" atlas. Now maximal atlases cannot be represented in the computer. - One needs fast equality check for manifolds, since (i) they are used as dictionary keys (for instance as the domains in the dictionary of the restrictions of some field) (ii) check of chart equality involves comparison of chart domains, which are manifolds (as open subset of a manifold), and charts are massively used as keys in the dictionary of coordinate expressions of scalar fields In the current branch of #18529 <http://trac.sagemath.org/ticket/18529>, the manifold class inherits from UniqueRepresentation, so that equality is by id and is therefore fast. Examples of use corresponding to #18529 branch are here <http://sagemanifolds.obspm.fr/doc/18529/reference/manifolds/sage/manifolds/manifold.html> (they are rather primitive since there are neither scalar fields nor continuous maps in #18529). Thanks for your feedback. Eric. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.