Hi Eric,

On 2015-11-04, Eric Gourgoulhon <egourgoul...@gmail.com> wrote:
> 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

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.

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).

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.

Best regards,
Simon

-- 
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.

Reply via email to