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

Including code to compute Lyapunov exponents for translation surfaces. #16102

Closed
sagetrac-Fougeroc mannequin opened this issue Apr 8, 2014 · 28 comments
Closed

Including code to compute Lyapunov exponents for translation surfaces. #16102

sagetrac-Fougeroc mannequin opened this issue Apr 8, 2014 · 28 comments

Comments

@sagetrac-Fougeroc
Copy link
Mannequin

sagetrac-Fougeroc mannequin commented Apr 8, 2014

Code for studying lyapunov exponents of translation surfaces and their covers.

UPDATE:

  • See compatibility with other existing code for interval echanges and strata
    compatible with code for quadratic and abelian stratum components
sage: q = QuadraticStratum([7,1,-1,-1,-1,-1]).components()[0]
sage: q.lyapunov_exponents()
[1.0006353514168902,
 0.44659813628011014,
 0.43073741652656045,
 0.2278515712988079,
 0.18675189999010267,
 0.07722243283694208]
sage: q.lyapunov_exponents_H_plus()
[0.44777037675789444, 0.185001855706418]

BUG:

  • There is a bug for zero lyapunov exponents when decomposing in isotropic components :
sage: import sage.dynamics.flat_surfaces.lyapunov_exponents.interval_exchange as intex
sage: R = intex.cyclic_cover_iet(4, [1, 1, 1, 1])
sage: R.lyapunov_exponents_H_plus()
[0.9996553085103, 0.0007776980910571506, 0.00022201024035355403]
sage: R.lyapunov_exponents_H_plus_isotopic()
[[], [1.0002381322489762], [-0.09753642448496574], [-0.09750440918016302]]

CC: @sagetrac-Fougeroc @videlec

Component: geometry

Keywords: lyapunov_exponents, translation_surfaces, sagedays57

Reviewer: Vincent Delecroix

Issue created by migration from https://trac.sagemath.org/ticket/16102

@sagetrac-Fougeroc sagetrac-Fougeroc mannequin added this to the sage-6.2 milestone Apr 8, 2014
@sagetrac-Fougeroc

This comment has been minimized.

@videlec
Copy link
Contributor

videlec commented Apr 8, 2014

comment:2

Hi Charles,

Here are some remarks.

About syntax:

  • remove trailing whitespaces
  • documentation lines should be at most 80 characters long
  • all functions and methods must have an EXAMPLES block. In order
    to see how much work you have to do, you can use
    sage -coverage MY_FILE.
  • The block RETURN should be OUTPUT

General design:

  • It would be more coherent to have an object "covering of stratum".
    In a concrete way it would be a permutation of interval exchange
    (that may be considered as a marking) together with a covering data.
    We do not care that much about a concrete interval exchange in your code.
  • avoid using import from sage.all, to know from which module you need
    to import an object you can use import_statements(MY_OBJECT). For more
    info look at import_statements?.

About code:

  • there are already several things in Sage for interval exchange
    transformations and strata. It would be simpler to use them.
  • you must put a comment about precision = 128 and
    diff_sum_seuil = 2**(-precision+20). Even better, remove them.
  • in order to fit nicely with other components of Sage, you should
    separate the code (like your class IntExchange) and the examples
    (like the functions EKZ_example).

@videlec
Copy link
Contributor

videlec commented Apr 8, 2014

Reviewer: Vincent Delecroix

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 20, 2014

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

20f5170Merge branch 'develop' into lyapunov_exponents
bb60056Merge branch '16102/lyapunov_exponents' into lyapunov_exponents
5a93d69Merge branch 'develop' of trac.sagemath.org:sage into lyapunov_exponents
e2315e7merging with develop
ab009e5removed useless files
e1129fcremove files
ab3a1c4remove file
9a37545remove files
a47c68cInclude test for speed
6172656Merge branch 'integrated_lyapunov' into 16102/lyapunov_exponents

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 20, 2014

Changed commit from 048431e to 6172656

@sagetrac-Fougeroc
Copy link
Mannequin Author

sagetrac-Fougeroc mannequin commented Jun 20, 2014

Changed author from Fougeroc to Charles Fougeron

@sagetrac-Fougeroc
Copy link
Mannequin Author

sagetrac-Fougeroc mannequin commented Jun 20, 2014

Attachment: compare1_100_.png

Compare computation of lyapunov exponents wrt number of iteration

@sagetrac-Fougeroc
Copy link
Mannequin Author

sagetrac-Fougeroc mannequin commented Jun 20, 2014

Compare computation of lyapunov exponents wrt number of iteration (zoom)

@sagetrac-Fougeroc
Copy link
Mannequin Author

sagetrac-Fougeroc mannequin commented Jun 20, 2014

Attachment: compare40_100_.png

Attachment: compare_speed.png

Compare log(T)/nb_iterations for diffrent genus and nb_iterations

@sagetrac-Fougeroc
Copy link
Mannequin Author

sagetrac-Fougeroc mannequin commented Jun 22, 2014

comment:6

I updated the code which integrate the computation of lyapunov exponents for quadratic strata.
You can now use the function :

stratum_component = QuadraticStratum([1]*8 + [-1]*4).components()[0]
stratum_component.orientable_cover().lyapunov_exponents_H_plus()

I noticed a strange behaviour while doing some computeur simulations for asymptotic of lyapunov exponents. When genus is getting bigger (and consequently the number of intervals), the speed is decreasing. While increasing the number of iteration, log(t)/n is also increasing. A surprising behaviour (possibly due to float approximation) is that the there is a limit value for this function for a large value of genus.

This behaviour seems to be responsible for a wrong approximation of lyapunov exponents asymptotically:

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 24, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

02de200Add computation of lyapunov exponents for orientable cover over quadratic stratum.
227ce37Merge trac.sagemath.org:sage into 16102/lyapunov_exponents

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 24, 2014

Changed commit from 6172656 to 227ce37

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 5, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

23ee7e7fix bug
e91fca7fix bug

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 5, 2014

Changed commit from 227ce37 to e91fca7

@sagetrac-Fougeroc

This comment has been minimized.

@sagetrac-Fougeroc

This comment has been minimized.

@fchapoton
Copy link
Contributor

comment:12

does not apply, needs rebase

@fchapoton
Copy link
Contributor

Dependencies: #16159

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 3, 2016

Changed commit from e91fca7 to f21ab92

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 3, 2016

Branch pushed to git repo; I updated commit sha1. New commits:

f21ab92Merge branch 'develop' into lyapunov

@videlec
Copy link
Contributor

videlec commented May 27, 2016

comment:15

I guess that we should close this ticket with mileston "wontfix" as I did with the other tickets #14683, #16159, #16170, #16169. This means that the ticket would be closed without integrating the branch into Sage.

@fchapoton
Copy link
Contributor

comment:16

Vincent, do you confirm this should be closed as invalid ?

@fchapoton fchapoton removed this from the sage-6.4 milestone Jul 11, 2016
@videlec
Copy link
Contributor

videlec commented Jul 11, 2016

Changed dependencies from #16159 to none

@videlec
Copy link
Contributor

videlec commented Jul 11, 2016

comment:17

Yes! Charles' code is now part of the package surface_dynamics (see #20695).

@videlec
Copy link
Contributor

videlec commented Jul 11, 2016

Changed branch from u/Fougeroc/Lyapunov_exponents_for_translation_surfaces to none

@videlec
Copy link
Contributor

videlec commented Jul 11, 2016

Changed author from Charles Fougeron to none

@videlec
Copy link
Contributor

videlec commented Jul 11, 2016

Changed commit from f21ab92 to none

@embray
Copy link
Contributor

embray commented Aug 30, 2016

comment:19

Determined to be invalid/duplicate/wontfix (closing as "wontfix" as a catch-all resolution).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants