Opened 5 years ago
Closed 3 years ago
#16102 closed task (wontfix)
Including code to compute Lyapunov exponents for translation surfaces.
Reported by:  Fougeroc  Owned by:  

Priority:  major  Milestone:  sageduplicate/invalid/wontfix 
Component:  geometry  Keywords:  lyapunov_exponents, translation_surfaces, geometry, sagedays57 
Cc:  Fougeroc, vdelecroix  Merged in:  
Authors:  Reviewers:  Vincent Delecroix  
Report Upstream:  N/A  Work issues:  
Branch:  Commit:  
Dependencies:  Stopgaps: 
Description (last modified by )
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]]
Attachments (3)
Change History (22)
comment:1 Changed 5 years ago by
 Description modified (diff)
comment:2 Changed 5 years ago by
 Reviewers set to Vincent Delecroix
comment:3 Changed 5 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:4 Changed 5 years ago by
 Commit changed from 048431e8b786dd92e21b59620c8863482a90f970 to 61726567f284b07d4f7495081d9856d70c0974d9
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
20f5170  Merge branch 'develop' into lyapunov_exponents

bb60056  Merge branch '16102/lyapunov_exponents' into lyapunov_exponents

5a93d69  Merge branch 'develop' of trac.sagemath.org:sage into lyapunov_exponents

e2315e7  merging with develop

ab009e5  removed useless files

e1129fc  remove files

ab3a1c4  remove file

9a37545  remove files

a47c68c  Include test for speed

6172656  Merge branch 'integrated_lyapunov' into 16102/lyapunov_exponents

comment:5 Changed 5 years ago by
comment:6 Changed 5 years ago by
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:
comment:7 Changed 5 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:8 Changed 4 years ago by
 Commit changed from 61726567f284b07d4f7495081d9856d70c0974d9 to 227ce37ff7b217a5671ce332c519ac2f670adfd6
comment:9 Changed 4 years ago by
 Commit changed from 227ce37ff7b217a5671ce332c519ac2f670adfd6 to e91fca75a50a1f229b183604958da47ecf801ec6
comment:10 Changed 4 years ago by
 Description modified (diff)
 Status changed from new to needs_review
comment:11 Changed 4 years ago by
 Description modified (diff)
comment:12 Changed 4 years ago by
 Status changed from needs_review to needs_work
does not apply, needs rebase
comment:13 Changed 3 years ago by
 Dependencies set to #16159
comment:14 Changed 3 years ago by
 Commit changed from e91fca75a50a1f229b183604958da47ecf801ec6 to f21ab9277f8f374e602bdaec3a94c77c57b087dd
Branch pushed to git repo; I updated commit sha1. New commits:
f21ab92  Merge branch 'develop' into lyapunov

comment:15 Changed 3 years ago by
comment:16 Changed 3 years ago by
 Milestone changed from sage6.4 to sageduplicate/invalid/wontfix
 Status changed from needs_work to needs_review
Vincent, do you confirm this should be closed as invalid ?
comment:17 Changed 3 years ago by
 Branch u/Fougeroc/Lyapunov_exponents_for_translation_surfaces deleted
 Commit f21ab9277f8f374e602bdaec3a94c77c57b087dd deleted
 Dependencies #16159 deleted
Yes! Charles' code is now part of the package surface_dynamics
(see #20695).
comment:18 Changed 3 years ago by
 Status changed from needs_review to positive_review
comment:19 Changed 3 years ago by
 Resolution set to wontfix
 Status changed from positive_review to closed
Determined to be invalid/duplicate/wontfix (closing as "wontfix" as a catchall resolution).
Hi Charles,
Here are some remarks.
About syntax:
sage coverage MY_FILE
.General design:
sage.all
, to know from which module you need to import an object you can useimport_statements(MY_OBJECT)
. For more info look atimport_statements?
.About code:
precision = 128
anddiff_sum_seuil = 2**(precision+20)
. Even better, remove them.IntExchange
) and the examples (like the functionsEKZ_example
).