Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Iso Delaunay Tessellation #163

Draft
wants to merge 138 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
5fa1c42
Copy from HackMD
sfreedman67 Apr 27, 2022
b60729a
add top docstring
sfreedman67 Apr 27, 2022
05e6fd1
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 May 12, 2022
f895892
implement init and shortest_periods
sfreedman67 May 12, 2022
748c40f
Sort shortest periods
sfreedman67 May 17, 2022
4766dd7
Merge branch 'master' into spine
saraedum May 19, 2022
a0a766c
Cleanup documentation of spine tessellation
saraedum May 19, 2022
de58bca
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
saraedum May 19, 2022
8de9694
implement geodesics
sfreedman67 May 19, 2022
8693931
implement shortest_directions and fix geodesics
sfreedman67 May 25, 2022
c91941b
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 Jun 2, 2022
deba91d
fix shortest directions and geodesics
sfreedman67 Jun 2, 2022
2df6f7c
Introduce SpineTesselation.segment() interface
saraedum Jun 3, 2022
d4e8f2c
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 Jun 10, 2022
30b4727
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
sfreedman67 Jun 10, 2022
389672c
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 Jun 10, 2022
eea6d06
implement geodesic_to_periods
sfreedman67 Jun 10, 2022
a8a95cb
Merge remote-tracking branch 'julian/hyperbolic' into spine
sfreedman67 Jul 7, 2022
2ba60d2
implement IsoDelaunay Tessellation
sfreedman67 Jul 7, 2022
1e97021
fix face, use epsilon dance
sfreedman67 Jul 8, 2022
6596c08
Do not mutate the provided surface when computing IDRs
saraedum Jul 8, 2022
29fa055
fix matrix conversion
sfreedman67 Jul 20, 2022
d27dca8
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
sfreedman67 Jul 20, 2022
9ada707
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 Jul 20, 2022
70119ff
Work on explore
sfreedman67 Jul 20, 2022
70caea0
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 Jul 21, 2022
702aa3c
Fix explore
sfreedman67 Jul 21, 2022
1766655
find nondegenerate triangulation for starting surface, fix infinite l…
sfreedman67 Aug 3, 2022
8b4e498
implement plot for tesselation, start find_idr
sfreedman67 Aug 18, 2022
b23308a
Fix isomorphism check
saraedum Aug 18, 2022
01fc932
add isomorphism case to classify_idr
sfreedman67 Aug 19, 2022
1800a85
prevent backtracking in explore
sfreedman67 Aug 22, 2022
8ac88de
Search for isomorphism of Delaunay cells when checking for symmetries
saraedum Aug 22, 2022
0e2b06a
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 Sep 2, 2022
aa57e36
add edge gluings between isomorphic IDRs
sfreedman67 Sep 2, 2022
5042a33
Merge branch 'hyperbolic' into spine
saraedum Sep 3, 2022
fd515ee
Insert marked orbifold vertices into the IDR tesselation
saraedum Sep 3, 2022
374a9f7
Merge branch 'hyperbolic' into spine
saraedum Sep 3, 2022
9386319
Simplify graph representation of tesselation
saraedum Sep 3, 2022
8e39ab2
Add TODO for IDR
saraedum Sep 3, 2022
4cb145d
Postpone insertion of marked points into iso delaunay tesselation
saraedum Sep 5, 2022
2d5eb20
Add Bowman thesis as a reference
saraedum Sep 5, 2022
d33e7d1
Implement self-similarity of IDRs
saraedum Sep 8, 2022
5d19067
Merge branch 'hyperbolic' into spine
saraedum Sep 8, 2022
a80be4a
Seed trivial isomorphisms in checks
saraedum Sep 10, 2022
2d3631b
Speed up isomorphism check when there can be no isomorphism of IDRs
saraedum Sep 10, 2022
438966b
Merge branch 'hyperbolic' into spine
saraedum Sep 11, 2022
45cd773
Merge branch 'hyperbolic' into spine
saraedum Sep 11, 2022
0409cd3
Merge branch 'hyperbolic' into spine
saraedum Sep 11, 2022
5837585
Add an example with an orbifold point inside a polygon
saraedum Sep 11, 2022
e6eb113
start testing iso_delaunay
sfreedman67 Sep 27, 2022
d483283
add test cases for L-tables, create methods for orbifold statistics
sfreedman67 Oct 6, 2022
a9f9a55
Determine vertices of iso delaunay tessellation
saraedum Oct 31, 2022
39da53e
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 Nov 1, 2022
5bb9e88
Fix doctest
saraedum Nov 2, 2022
70f7225
Remove placeholder comment
saraedum Nov 2, 2022
a302100
Remove debug output
saraedum Nov 2, 2022
621c040
fix doctest
saraedum Nov 2, 2022
25e5796
Remove unused _point_to_surface which is duplicate of surface()
saraedum Nov 2, 2022
b94855b
Rename _faces to _dual_graph
saraedum Nov 2, 2022
17aee3a
Drop trivial docstring
saraedum Nov 2, 2022
e30e0b3
Restore some sanity in variable naming
saraedum Nov 2, 2022
3fa3661
Restore some sanity in variable naming
saraedum Nov 2, 2022
0a54c1f
Restore some sanity in variable naming
saraedum Nov 2, 2022
da2df47
Fix typos and other minor cleanup
saraedum Nov 2, 2022
87df696
Decouple initial IDR step from state
saraedum Nov 2, 2022
6888dc9
Fix initial Delaunay triangulation fixing
saraedum Nov 2, 2022
89af387
Do not pretend that orbifold_euler_characteristic() works
saraedum Nov 2, 2022
33b97b9
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
sfreedman67 Nov 3, 2022
40623cb
fix vertex
sfreedman67 Nov 3, 2022
b84032f
=topological_euler_characteristic accounts for interior orbifold points
sfreedman67 Nov 15, 2022
8baf618
Implement a hacky version of IsoDelaunayTriangulation.angle()
saraedum Nov 17, 2022
f3031a0
Implement more naive but better angle computations
saraedum Nov 17, 2022
4501b04
=initialize k=QQ in filter_matrix
sfreedman67 Dec 29, 2022
4c4c22f
Merge remote-tracking branch 'origin/master' into spine
saraedum Jan 16, 2023
f8472f3
Merge branch 'hyperbolic' into spine
saraedum Jan 16, 2023
78be035
Update doctest to reflect change in geodesic normalization
saraedum Jan 16, 2023
baa1cef
Silence deprecation warnings
saraedum Jan 16, 2023
061f0b8
Merge branch 'hyperbolic' into spine
saraedum Jan 16, 2023
5781826
Silence deprecation warnings
saraedum Jan 16, 2023
de72f60
Fix syntax
saraedum Jan 16, 2023
cb6ee06
Normalize doctest output
saraedum Jan 16, 2023
137417b
Merge branch 'hyperbolic' into spine
saraedum Jan 16, 2023
583853d
Fix code style
saraedum Jan 16, 2023
036752b
Fix doctest output
saraedum Jan 16, 2023
d8942ca
Use codes to speed up IDT computations
saraedum Jan 16, 2023
c6628de
Merge branch 'hyperbolic' into spine
saraedum Jan 16, 2023
68243e2
Merge branch 'hyperbolic' into spine
saraedum Jan 16, 2023
6a02dbd
Fix invocation of equivalences
saraedum Jan 16, 2023
f0e2a6d
Merge branch 'hyperbolic' into spine
saraedum Jan 16, 2023
8fb0011
Merge branch 'hyperbolic' of github.com:saraedum/sage-flatsurf into s…
sfreedman67 Jan 17, 2023
9848e2f
Speed up IsoDelaunayTessellation with latest libflatsurf hashing
saraedum Jan 19, 2023
907c096
Fix quotienting when detecting self-similarities
saraedum Jan 19, 2023
3e0a50d
Add another failing example with translation
saraedum Jan 19, 2023
a2a23b3
Add news
saraedum Jan 19, 2023
95b1e82
Merge branch 'spine' of github.com:saraedum/sage-flatsurf into spine
sfreedman67 Jan 26, 2023
0f6b7ae
Fix root
sfreedman67 Jan 26, 2023
cf29ae8
Merge branch 'hyperbolic' into spine
saraedum Feb 23, 2023
75c9831
Merge remote-tracking branch 'origin/master' into spine
saraedum Feb 23, 2023
b8db22e
Fix lint
saraedum Feb 23, 2023
f1af165
Expose isometries in IDT dual graph
saraedum Feb 23, 2023
42bf7f0
Implement parts of multitwist
saraedum Feb 23, 2023
02a38ea
Work around strange edgecolor bug
saraedum Feb 23, 2023
b146d50
implement gens
sfreedman67 Mar 9, 2023
a60e64a
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
sfreedman67 Mar 9, 2023
86d8aaa
fix multitwist, work on gens
sfreedman67 Mar 9, 2023
5f0f862
Ensure IDT annotations are defined over the same base ring
saraedum Mar 9, 2023
fd20984
add veech_group.py
sfreedman67 Mar 16, 2023
b3531b7
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
sfreedman67 Mar 16, 2023
84273c9
Merge remote-tracking branch 'origin/master' into spine
saraedum Mar 17, 2023
3471949
Remove draft of spine tessellation to limit scope of this PR
saraedum Mar 17, 2023
8ff9d3c
Clean up source code formatting with black
saraedum Mar 22, 2023
1a84079
Merge branch 'black' into spine
saraedum Mar 22, 2023
d4ff207
start work on euler_char
sfreedman67 Mar 26, 2023
d4a8340
Fix exceptions in genus computations
saraedum Mar 26, 2023
ead778c
Add more test cases for IDT
saraedum Mar 27, 2023
45c6783
Fix doctests in iso-delaunay-tessellation
saraedum Mar 28, 2023
a4da110
Make IsoDelaunayTessellation a HyperbolicTessellation
saraedum Mar 28, 2023
b3adb4f
Fix genus computations
saraedum Mar 31, 2023
fe11e8b
Merge branch 'master' into spine
saraedum Apr 7, 2023
5e511b6
implement orbifold_points_vertex
sfreedman67 Apr 13, 2023
84479c3
Fix orbifold points implementation
saraedum Apr 14, 2023
bfd83ab
Add TODO for genus computation with orbifold points
saraedum Apr 23, 2023
8a3d172
Fix orbifold points
sfreedman67 Jun 1, 2023
63a6f00
Add examples for prym eigenforms
sfreedman67 Jun 1, 2023
9e415c5
Merge branch 'prym' into spine
saraedum Jun 1, 2023
d981e25
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
saraedum Jun 1, 2023
74ed1a5
Fix decorator
saraedum Jun 1, 2023
14dbcf0
Add another problematic example
saraedum Jun 2, 2023
906ebbb
Fix vertices() when there are orbifold points in the interior of faces
saraedum Jun 7, 2023
839eba1
Add new testing data
sfreedman67 Jun 21, 2023
8548723
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
sfreedman67 Jun 21, 2023
a95066a
Merge remote-tracking branch 'origin/master' into spine
saraedum Jun 22, 2023
df79c1f
Merge branch 'master' into spine
saraedum Jun 22, 2023
23b7592
=Fix testing files for S and X
sfreedman67 Jun 24, 2023
f1b4777
Merge branch 'spine' of github.com:sfreedman67/sage-flatsurf into spine
sfreedman67 Jun 24, 2023
bb2465b
Merge branch 'master' into spine
saraedum Jul 5, 2023
4f0851e
Fix syntax error
saraedum Feb 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions flatsurf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@

from flatsurf.geometry.hyperbolic import HyperbolicPlane

from .geometry.iso_delaunay_tessellation import IsoDelaunayTessellation

from flatsurf.geometry.surface_legacy import (
Surface_list,
Surface_dict,
Expand Down
11 changes: 11 additions & 0 deletions flatsurf/geometry/categories/translation_surfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
# along with sage-flatsurf. If not, see <https://www.gnu.org/licenses/>.
# ####################################################################

from sage.misc.cachefunc import cached_method

from flatsurf.geometry.categories.surface_category import SurfaceCategoryWithAxiom
from flatsurf.geometry.categories.half_translation_surfaces import (
HalfTranslationSurfaces,
Expand Down Expand Up @@ -649,6 +651,15 @@ def stratum(self):

return AbelianStratum([ZZ(a - 1) for a in self.angles()])

@cached_method
def veech_group(self):
from flatsurf.geometry.iso_delaunay_tessellation import IsoDelaunayTessellation
from flatsurf.geometry.veech_group import VeechGroup

idt = IsoDelaunayTessellation(self)
idt.explore()
return VeechGroup(idt)

def canonicalize(self, in_place=None):
r"""
Return a canonical version of this translation surface.
Expand Down
2 changes: 2 additions & 0 deletions flatsurf/geometry/hyperbolic.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@

import collections.abc

from flatsurf.geometry.surface import Surface_base

from sage.structure.sage_object import SageObject
from sage.structure.parent import Parent
from sage.structure.element import Element
Expand Down
Loading
Loading