Opened 5 years ago
Last modified 4 months ago
#22016 needs_work enhancement
Implement teteatete graphs
Reported by:  pportilla  Owned by:  pportilla 

Priority:  major  Milestone:  sage9.4 
Component:  geometry  Keywords:  tat, ribbon graphs, teteatete, periodic, automorphisms, surfaces, boundary 
Cc:  tscrim, tmonteil  Merged in:  
Authors:  Pablo Portilla  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  u/pportilla/tat_graph22016 (Commits, GitHub, GitLab)  Commit:  b3fb968117108fae2a7a8a3893faa9d1f225a507 
Dependencies:  Stopgaps: 
Description (last modified by )
In this ticket we will implement teteatete graphs. These are ribbon graphs together with a metric on its edges satisfying a certain property (the teteatete property). These are an original idea by the mathematician Norbert A'Campo in [A2009]. A teteatete graph encodes the mapping class of an automorphism of a surface with boundary that restricts to the identity to the boundary of this surface and whose mapping class is periodic (when we allow isotopies to rotate the boundary components). Also some ideas were further developed by C. Graf, an student of A'Campo in [G2015]. Also, my current PhD thesis develops other aspects of these graphs.
These are some of the ideas that will be implemented in this ticket:
 A class of objects called TatGraph? (tat stands for teteatete). This includes the notion of relative tat graph, which are a kind of graphs that allow to permute certain boundary components of the thickening of the underlying ribbon graph.
 Numerous methods for the class above, for instance:
 Rotation numbers around each boundary component
 Matrix depicting the action on the first homology group of the ribbon graph with respect to the basis given by RibbonGraph?.homology_basis()
 Global method to find the end of a safewalk of a certain length.
 Global method that produces examples of tat graphs. In particular it produces all Milnor fibers and monodromies of the BrieskornPham singularities.
 Orbit graph, this is a ribbon graph that corresponds to the orbit space resulting from taking the quotient of the original underlying ribbon graph by the action the the automorphism induced by the tat property.
[A2009] N. A'Campo, Teteatete graphs and geometry monodromy.
[G2015] C.Graf, Teteatete graphs and periodic automorphisms of surfaces.
Change History (54)
comment:1 Changed 5 years ago by
 Branch changed from public/geometry/tat_graphs to u/pportilla/tat_graphs
comment:2 Changed 5 years ago by
 Branch changed from u/pportilla/tat_graphs to u/pportilla/tat_graph
comment:3 Changed 5 years ago by
 Description modified (diff)
comment:4 Changed 5 years ago by
 Owner changed from (none) to pportilla
comment:5 Changed 5 years ago by
comment:6 Changed 5 years ago by
 Branch changed from u/pportilla/tat_graph to u/pportilla/tat_graph22016
comment:7 Changed 5 years ago by
 Cc tmonteil added
comment:8 followup: ↓ 9 Changed 5 years ago by
Were you able to fix the git trac
command issue? If not, have you tried using git
directly?
comment:9 in reply to: ↑ 8 Changed 5 years ago by
Replying to tscrim:
Were you able to fix the
git trac
command issue? If not, have you tried usinggit
directly?
No I haven't been able to solve it and yes, I have also tried "git fetch v trac u/pportilla/tat_graph22016 && echo OK" and it returns the same kind of error " fatal: Couldn't find remote ref u/pportilla/tat_graph22016"
I can checkout other tickets so I don't know what can be the problem.
comment:10 Changed 5 years ago by
Can you send me the results of git remote v
to my email (tscrimsh at umn * edu, with * = dot)?
comment:11 Changed 5 years ago by
 Commit set to 87e33427fafde28da4c547a4ebe62582203ad966
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
4cd202e  Suggested changes commited

72ef663  Fixed similar lines and turned them more "pythonic"

f4a419c  Merge branch 'u/pportilla/ribbon_graphs' of trac.sagemath.org:sage into public/geometry/ribbon_graphs21587

6b0f5fc  Reworking some things with the documentation and internal structures.

4e3b676  Added extra test to _find.

0075562  Added one method and one function. Both were already included in the next work I will be uploading when this is positively reviewed, but since they refer strictly to ribbon graphs I think that they suit better here.

6f4b8a6  Added a missing example.

82b52eb  Fixed typos and normalized name of method.

b22ef55  Merge branch 'public/geometry/ribbon_graphs21587' of trac.sagemath.org:sage into public/geometry/ribbon_graphs21587

87e3342  Moving the bipartite construction into the RibbonGraph constructor.

comment:12 Changed 5 years ago by
I just updated the branch with all the commits from #21587 (since it depends on it)
comment:13 Changed 5 years ago by
 Commit changed from 87e33427fafde28da4c547a4ebe62582203ad966 to af006ae67a1f5e65fb509456e0ddf844a0c3897c
Branch pushed to git repo; I updated commit sha1. New commits:
af006ae  Included main file and changes so that I can start trying compilation.

comment:14 Changed 5 years ago by
 Commit changed from af006ae67a1f5e65fb509456e0ddf844a0c3897c to 7d4611758f651074fcfc6d675538b8fdc1da6e08
Branch pushed to git repo; I updated commit sha1. New commits:
7d46117  silly mistake on the lazy imports

comment:15 Changed 5 years ago by
 Commit changed from 7d4611758f651074fcfc6d675538b8fdc1da6e08 to 808897820dc98055ae22034688d47c84f9dec66f
comment:16 Changed 4 years ago by
 Commit changed from 808897820dc98055ae22034688d47c84f9dec66f to ec1b5a2c3428e41dcf4596f115d24903196cf839
comment:17 followup: ↓ 18 Changed 4 years ago by
 Milestone changed from sage7.5 to sage7.6
Is this ready for review?
comment:18 in reply to: ↑ 17 Changed 4 years ago by
Replying to tscrim:
Is this ready for review?
Hi. No, it is not. I have been busy. This is my last PhD year and, as you can imagine, I lack of time. Nevertheless, I will be back on this soon (I hope).
comment:19 Changed 4 years ago by
 Commit changed from ec1b5a2c3428e41dcf4596f115d24903196cf839 to 97647c5ba3fd188dd75b5a24bcc8ebadaa18c58a
Branch pushed to git repo; I updated commit sha1. New commits:
97647c5  Merge branch 'develop' into t/22016/tat_graph22016

comment:20 Changed 3 years ago by
 Commit changed from 97647c5ba3fd188dd75b5a24bcc8ebadaa18c58a to 40c50420c0884d83c77391b9d19422ffef5eed0f
Branch pushed to git repo; I updated commit sha1. New commits:
40c5042  Merge branch 'master' into u/pportilla/tat_graph22016

comment:21 Changed 3 years ago by
 Commit changed from 40c50420c0884d83c77391b9d19422ffef5eed0f to d10022aca53035859823ef8607d7068432fe906c
Branch pushed to git repo; I updated commit sha1. New commits:
d10022a  Merge remotetracking branch 'origin/develop' into u/pportilla/tat_graph22016

comment:22 Changed 2 years ago by
 Commit changed from d10022aca53035859823ef8607d7068432fe906c to e738728620efe9b61ebfb014514ef90062fb9f58
Branch pushed to git repo; I updated commit sha1. New commits:
e738728  Merge branch 'develop' of git://trac.sagemath.org/sage into t/22016/tat_graph22016

comment:23 Changed 2 years ago by
 Commit changed from e738728620efe9b61ebfb014514ef90062fb9f58 to f37725f17a7354783010359ddb3e6fa6eacd76b3
Branch pushed to git repo; I updated commit sha1. New commits:
f37725f  fixing some error and preparing to start doc writing

comment:24 Changed 2 years ago by
 Commit changed from f37725f17a7354783010359ddb3e6fa6eacd76b3 to fa3701e0498a1c3975920cda47cc5793680d27d6
Branch pushed to git repo; I updated commit sha1. New commits:
fa3701e  Added references and some documentation of main object.

comment:25 Changed 2 years ago by
 Commit changed from fa3701e0498a1c3975920cda47cc5793680d27d6 to 43f936edcc6dbf0b14d26843ff00b992294ca06a
Branch pushed to git repo; I updated commit sha1. New commits:
43f936e  ç

comment:26 Changed 2 years ago by
 Milestone changed from sage7.6 to sage8.6
 Status changed from new to needs_review
comment:27 followups: ↓ 29 ↓ 35 Changed 2 years ago by
(1) Do not use latex for accents, but just unicode. Something like
+# * coding: utf8 * +r""" +Têteatête graphs.
where the coding line should be the first line of the .py file.
(2) You can use one single lazy_import by using a list as second argument
(3) this is wrong : :arxiv:`arXiv:1706.05580`
(4) you should not touch cypari files. If you would like to change something here, make pull requests in their own developer site.
comment:28 Changed 2 years ago by
 Status changed from needs_review to needs_work
comment:29 in reply to: ↑ 27 Changed 2 years ago by
Hi chapoton, I am sorry but I don't know what you mean by (4). Which files did I touch that I shouldn't have?
Replying to chapoton:
(1) Do not use latex for accents, but just unicode. Something like
+# * coding: utf8 * +r""" +Têteatête graphs.where the coding line should be the first line of the .py file.
(2) You can use one single lazy_import by using a list as second argument
(3) this is wrong :
:arxiv:`arXiv:1706.05580`
(4) you should not touch cypari files. If you would like to change something here, make pull requests in their own developer site.
comment:30 Changed 2 years ago by
 Commit changed from 43f936edcc6dbf0b14d26843ff00b992294ca06a to 3933ca9f884023c0aee28e86994098256e8c3d88
Branch pushed to git repo; I updated commit sha1. New commits:
3933ca9  added changes suggested by chapoton

comment:31 followup: ↓ 34 Changed 2 years ago by
click on the name of the branch on the top of this page ; you will see that your branch does something on some files like
rwrr src/sage/libs/cypari2/.gitignore 2 rwrr src/sage/libs/cypari2/auto_gen.pxi 20819 rwrr src/sage/libs/cypari2/auto_instance.pxi
comment:32 Changed 2 years ago by
 Commit changed from 3933ca9f884023c0aee28e86994098256e8c3d88 to 2c3c85a412c0e9bf0fd1c68d37b64e342f230712
Branch pushed to git repo; I updated commit sha1. New commits:
2c3c85a  deleted cypari2 modified files

comment:33 Changed 2 years ago by
 Status changed from needs_work to needs_review
comment:34 in reply to: ↑ 31 Changed 2 years ago by
Thank you! Done it already. Changed to needs_review again
Replying to chapoton:
click on the name of the branch on the top of this page ; you will see that your branch does something on some files like
rwrr src/sage/libs/cypari2/.gitignore 2 rwrr src/sage/libs/cypari2/auto_gen.pxi 20819 rwrr src/sage/libs/cypari2/auto_instance.pxi
comment:35 in reply to: ↑ 27 Changed 2 years ago by
It looks that there was an error compiling with the lazy_import oneliner. Apparently it only accepts up to three arguments. So I guess I either revert the changes or use the usual "import *"
Replying to chapoton:
(1) Do not use latex for accents, but just unicode. Something like
+# * coding: utf8 * +r""" +Têteatête graphs.where the coding line should be the first line of the .py file.
(2) You can use one single lazy_import by using a list as second argument
(3) this is wrong :
:arxiv:`arXiv:1706.05580`
(4) you should not touch cypari files. If you would like to change something here, make pull requests in their own developer site.
comment:36 followup: ↓ 38 Changed 2 years ago by
second argument of lazy import is a list of functions
git grep "lazy_import"
to see some examples
comment:37 Changed 2 years ago by
 Commit changed from 2c3c85a412c0e9bf0fd1c68d37b64e342f230712 to ddfc9224ca136855d8ab4b46c87a80a993c6408a
Branch pushed to git repo; I updated commit sha1. New commits:
ddfc922  fixed lazy_import issue

comment:38 in reply to: ↑ 36 Changed 2 years ago by
Thank you once again. Done it. Replying to chapoton:
second argument of lazy import is a list of functions
git grep "lazy_import"to see some examples
comment:39 followup: ↓ 40 Changed 2 years ago by
 Dependencies #21587 deleted
(1) undo this change:
+ +Hyperbolic Geometry + +
(2) in the same file, the J. should be {\J.
}
comment:40 in reply to: ↑ 39 Changed 2 years ago by
I don't know where the Hyperbolic Geometry change came from. Maybe it was there in a previous developversion and I repushed it (?). Anyway, it is done now.
Replying to chapoton:
(1) undo this change:
+ +Hyperbolic Geometry + +(2) in the same file, the J. should be
{\J.
}
comment:41 Changed 2 years ago by
 Commit changed from ddfc9224ca136855d8ab4b46c87a80a993c6408a to cd848c51acd6361e3927968adac1d28c753e7873
Branch pushed to git repo; I updated commit sha1. New commits:
cd848c5  changes on references

comment:42 Changed 2 years ago by
 Commit changed from cd848c51acd6361e3927968adac1d28c753e7873 to 999c09ee879c94f9b2e2ea9da1fa78f253a406d7
Branch pushed to git repo; I updated commit sha1. New commits:
999c09e  fixing the lazy_import (test failed previously because of bad import)

comment:43 Changed 2 years ago by
 Commit changed from 999c09ee879c94f9b2e2ea9da1fa78f253a406d7 to dc825b02728a60f89c907cdc0bc9cb38f713d4a2
Branch pushed to git repo; I updated commit sha1. New commits:
dc825b0  Removed unused imports and fixed coverage problem adding doctests.

comment:44 Changed 2 years ago by
 Commit changed from dc825b02728a60f89c907cdc0bc9cb38f713d4a2 to 990c5b2bd63a0604a88cc44a1db2b13beb74273e
Branch pushed to git repo; I updated commit sha1. New commits:
990c5b2  One last pyflakes error. Now all tests succeed.

comment:45 Changed 2 years ago by
 Commit changed from 990c5b2bd63a0604a88cc44a1db2b13beb74273e to 50117588de4578eb8d1444063e6418de12f596d5
Branch pushed to git repo; I updated commit sha1. New commits:
5011758  Forgot to run docbuild and produced some errors, now fixed.

comment:46 Changed 2 years ago by
(1) This is not the right way:
while (finish_cycle == False):
should rather be
while not finish_cycle:
(2) idem here
while (len(aux_orbits_rho) > 0):
could be
while aux_orbits_rho:
(3) This
+ darts = [x for i in range(len(aux_sigma)) for x in aux_sigma[i]]
could be
darts = [x for y in aux_sigma for x in y]
(4) This
+ for i in range(len(aux_sigma[orb_vertex[0]])): + assert tat_graph._metric[aux_sigma[orb_vertex[0]][i]] > epsilon
could be
+ for y in aux_sigma[orb_vertex[0]]: + assert tat_graph._metric[y] > epsilon
comment:47 Changed 2 years ago by
I just want to expand slightly on (1) that there are a few places where you are checking if foo == True:
/if foo == False:
and all of those should be changed appropriately to if foo:
/
if not foo:`.
comment:48 Changed 2 years ago by
 Commit changed from 50117588de4578eb8d1444063e6418de12f596d5 to ee1c35b79d06b9cd617cb3b6fa12089fd7a2405e
Branch pushed to git repo; I updated commit sha1. New commits:
ee1c35b  More examples, cleaning code in the direction indicated.

comment:49 Changed 2 years ago by
 Commit changed from ee1c35b79d06b9cd617cb3b6fa12089fd7a2405e to b3fb968117108fae2a7a8a3893faa9d1f225a507
Branch pushed to git repo; I updated commit sha1. New commits:
b3fb968  A couple more of changes suggested by tscrim

comment:50 Changed 2 years ago by
This has not been corrected:
while (len(darts) > 0):
comment:51 Changed 2 years ago by
 Status changed from needs_review to needs_work
and the branch is now red, meaning some conflicts with the latest develop version of sage
comment:52 Changed 13 months ago by
 Milestone changed from sage8.6 to sage9.2
comment:53 Changed 9 months ago by
 Milestone changed from sage9.2 to sage9.3
comment:54 Changed 4 months ago by
 Milestone changed from sage9.3 to sage9.4
Setting new milestone based on a cursory review of ticket status, priority, and last modification date.
I just created this ticket from the web interface but I can't checkout on it from the console in my compute by doing "git trac checkout 22016", it returns:
Loading ticket #22016... Checking out Trac #22016 remote branch u/pportilla/tat_graph > local branch t/22016/tat_graph... Traceback (most recent call last):
git_trac.git_error.GitError?: git returned with nonzero exit code (128) when executing "git fetch trac u/pportilla/tat_graph"
I can, however fetch other tickets like for example 21587. Any ideas?