flatsurf / sage-flatsurf

Flat surfaces in Sage
https://flatsurf.github.io/sage-flatsurf/
GNU General Public License v2.0
10 stars 10 forks source link

Add deformations and treat pyflatsurf surfaces like native surfaces #211

Closed saraedum closed 2 days ago

saraedum commented 1 year ago

Here we bring a system like the libflatsurf Deformation maps to sage-flatsurf. The idea is that this allows us to map all kinds of objects between surfaces that are related to each other.

To make this fully functional, all operations that modify a surface need to produce a Deformation instead that can (sometimes) be used to map objects.

In particular this will allow us to understand whether subdivision for harmonic differentials actually converge correctly (currently, it's extremely annoying to relate a point on the surface before and after subdivision and retriangulation.)

At the same time, we introduce Surface_pyflatsurf which provides a pyflatsurf FlatTriangulation with the sage-flatsurf Surface interface. In particular, a libflatsurf Deformation then can be naturally turned into a Deformation_pyflatsurf to map sage-flatsurf objects across it.

Checklist

saraedum commented 1 year ago

Nothing has happened here yet and nothing can be played with yet.

saraedum commented 2 days ago

This won't be merged as is. We need to cherry-pick small bits out of it as we did in #295. We'll use #213 as a base to cherry-pick from into smaller PRs.