Hey Simon, >> > I would then be advocating for using UniqueRepresentation if that > was > >> > the only issue. > >> > >> It really depends whether in comparing manifolds you would prefer to do > >> *some* > >> heuristics to detect homeomorphic manifolds, or prefer to consider > >> manifolds unequal if they were created with different input data. > >> > > > > IMO, such checks are too expensive to be done at creation. For example, > you > > want do so some tests over all n-spheres. > > I did not say anything about whether the tests should be done at > creation time or not. I was talking about "comparing manifolds", which > obviously means "comparing manifolds AFTER creation"- > > Ah, I'm sorry, I misunderstood what you were asking.
> If you want that two distinct homeomorphic manifolds may evaluate equal > then > you must not use UniqueRepresentation. That's all. > IMO, homeomorphism is too strong of a test for __eq__, which should be kept relatively fast. > > > Granted, there are nice and well-defined inputs for 2d and 3d > > manifolds, which would make good sense to do Cached/UniqueRepresentation > > around these structures. For a general (topological) manifold where > there > > are not necessarily such nice inputs, what would you give as input data? > > Whatever you currently give. An atlas. A simplicial complex. A system of > multivariate polynomial equations. > > Here is an example in terms of "polynomial equations" as input data. > > The first question is to you whether you want that the same set of > equations > yields identical manifolds or distinct manifolds. The second question is > whether > you want that the manifolds are identical if and only if the two systems > of > equations have the same solutions. It depends on your answers whether to > use CachedRepresentation, UniqueRepresentation or nothing. > > I would probably take UniqueRepresentation and have a method is_homeomorphic() as the equality check would probably be too computationally expensive. I'm thinking what graphs do with a faster equality check an a separate is_isomorphic method. Best, Travis -- 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.