Hi Simon, Thanks for your feedback!
Le jeudi 5 novembre 2015 10:17:35 UTC+1, Simon King a écrit : > > Hi Eric, > > > Are you serious? Certainly you are aware that there is no algorithm that > would be able to test whether two arbitrary compact 4-manifolds are > homeomorphic. And if I am not mistaken, the Rubinstein-Thompson > algorithm for the recognition of the 3-sphere is still state of the art, > but it involves solving a double-exponential number (in terms of number of > tetrahedra of a one-vertex triangulation) of NP-complete problems. > > Yes I know this. We cannot decide the mathematical identity of two manifolds. What I was speaking about was the definition of the __eq__ method for the objects representing manifolds in Sage. > In such a situation, I believe a UniqueRepresentation does not make > sense. You may have different input data yielding homeomorphic > manifolds, and it is not feasible to solve a computationally super-hard > problem upon creation of each manifold (basically comparing the new > to-be-created manifold with all previously created manifolds, unless you > come up with a normal form for manifolds). > > This is precisely why in the current setting the string representing the manifold's name is part of the manifold's identity, thanks to the UniqueRepresentation mechanism. The idea is that the user does not give the same name to two different manifolds. In this way, manifolds are identified by their names and for this UniqueRepresentation seemed a good solution. > What you COULD use is CachedRepresentation. Then, identical input data > would result in identical output. But still, non-identical input data > would result in two manifolds that may or may not be homeomorphic. > > And using manifolds as dictionary keys seems to me like a very bad idea, > given the above-mentioned problems. > If you think about the decomposition of manifolds into parallelizable parts and the storage of the restrictions of vector fields to these parts, then dictionary with manifolds as keys are quite natural. Best regards, 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.