-
Notifications
You must be signed in to change notification settings - Fork 162
First attempt at getting origami into Oscar #5345
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
base: master
Are you sure you want to change the base?
Changes from all commits
b14aba0
b4e082e
fea5c58
3ab88a4
a64bb20
3c2b52f
9e44030
f8f6a3e
3b03190
b8d3d8a
4419eeb
f07b459
1755e79
a397ffe
8ec034e
b393e9f
41f39c7
60bba04
81c8ec0
bae15ad
b1adc7f
2d4a994
35d110f
bbf0952
2971c2b
885cbb0
ee975fd
2ae6f1d
643e0be
14e499a
8a590a6
14a37af
f620d08
5c73d5a
f3434c0
b2123e6
7291ac8
5264046
acfd969
8e1db83
619bb33
161394a
c6d289b
f5f81a4
6bbe64a
00f7518
3a21f5f
bfe32b8
58dbbeb
ba23423
a4c1b6c
59cacfe
d147bfa
d160717
8d497ab
cc71cd4
f874491
2841ec7
e7794e9
8e3f358
91d6129
ec712be
e3f5643
ca41c8e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # An example template for the experimental section | ||
|
|
||
| ## Aims | ||
|
|
||
| This is an example for a file structure to set up a new package | ||
| in the experimental section. All files you find here are part of the | ||
| minimum requirements. See also the official Oscar documentation. | ||
|
|
||
| ## Status | ||
|
|
||
| We plan to also provide a function to automatically copy this template | ||
| for you to start your own package. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| [(0,3,1,2)-(0,3,1,2), (0)-(1) (1,2,3)-(0,2,3), (0,3)-(1,3) (1,2)-(0,2), (0,1)-(2,3) (2)-(1) (3)-(0)] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| [(0,3,7,4,1,2,6,5)-(0,3,6,4,1,2,7,5), (0,7,2,1,6,4,5,3)-(0,6,7,5,2,1,4,3), (0,7,5,1,3,2,4,6)-(0,1,4,7,3,6,5,2), (0,7,5,2,3,4,6,1)-(0,2,4,7,6,5,3,1), (0,1,3,4,2)-(0,6,1,5,2,3,7) (5,7,6)-(4), (0,1,4,3,5)-(0,1,7,3,6) (2,7,6)-(2,4,5), (0,1,4,5,6,3,2)-(0,1,3,5,7,4,2) (7)-(6), (0,1,5,3,7,4)-(3,6) (2,6)-(0,1,7,2,5,4), (0,1,5,6,3,2)-(0,1,3,7,5,2) (4,7)-(4,6), (0,2,6)-(0,5,7,2,4,1) (1,5,3,7,4)-(3,6), (0,2,6,7,4)-(5) (1,3,5)-(0,2,7,1,3,6,4), (0,3,4,1,2,5)-(0,3,6,1,2,7) (6,7)-(4,5), (0,3,4,5,2,1)-(0,7,3,2,4,6,1) (6,7)-(5), (0,3,5,6)-(1,3,5,7) (1,2,4,7)-(0,2,4,6), (0,4,1,2,5,6,3)-(0,1,7,4,2,3,5) (7)-(6), (0,4,2,5,6,3,1)-(0,2,7,4,3,5,1) (7)-(6), (0,4,5,2,1)-(0,7,4,2,6,1) (3,7,6)-(3,5), (0,4,6,3,5)-(3,7,4) (1,2,7)-(0,1,6,2,5), (0,4,7,1)-(0,5,3,1,4,6,2) (2,5,3,6)-(7), (0,7)-(0,4,5,6) (1,5,3,6,2,4)-(1,7,3,2), (0,7,1,2)-(3,6,4,5) (3,6,4,5)-(0,7,1,2), (0,7,3,4)-(0,5,3,6) (1,5,2,6)-(1,7,2,4), (0,1,2)-(0,1,4,5,6,7) (3,4,7,5)-(2) (6)-(3), (0,1,3)-(0,1,6,7,4) (2,6,4)-(2,5) (5,7)-(3), (0,1,3,2,4)-(0,2,1,5,6,7) (5,7)-(4) (6)-(3), (0,1,3,4,2)-(0,1,5,7,6) (5,6)-(4) (7)-(2,3), (0,1,3,5)-(0,3,4,2,1,7) (2,6,4)-(5) (7)-(6), (0,1,3,5)-(1,3,4,2) (2,6,4)-(0,7,5) (7)-(6), (0,1,4)-(0,1,6,3,7) (2,3)-(2,5) (5,6,7)-(4), (0,1,4,2,3)-(0,6,2,1,7) (5,6)-(4) (7)-(3,5), (0,1,4,3,2)-(0,1,5,6,7) (5,7)-(2,4) (6)-(3), (0,1,6,5,2)-(7) (3,7)-(0,1,5,4,6,2) (4)-(3), (0,2,1)-(7) (3,4,5)-(6) (6,7)-(0,5,2,3,1,4), (0,2,4)-(0,2,6,3,1,7) (1,5,3)-(4) (6,7)-(5), (0,2,4)-(0,5,2,3,1) (1,6,3)-(4,7) (5,7)-(6), (0,2,4,3,5)-(0,6,3,2,7) (1,6)-(1,5) (7)-(4), (0,2,4,5)-(2,4,7) (1,3,6)-(0,1,3,5) (7)-(6), (0,2,6)-(0,5,2,7) (1,4,3,5)-(1,6,3) (7)-(4), (0,3)-(0,4,6,2) (1,4,5,2)-(1,7) (6,7)-(3,5), (0,3)-(0,2,6,4) (1,6,5,2)-(1,3,7) (4,7)-(5), (0,3)-(0,2,6,5,7) (1,7,6,4,2)-(1,3) (5)-(4), (0,3,1,2)-(5,7) (4,5)-(4,6) (6,7)-(0,3,1,2), (0,3,1,2)-(7) (4,5)-(6) (6,7)-(0,5,3,1,4,2), (0,3,1,2)-(6) (4,5,6)-(4,5,7) (7)-(0,3,1,2), (0,3,1,2)-(0,6,1,7) (4,6)-(3,5) (5,7)-(2,4), (0,3,1,2)-(4,7,5) (4,6,5)-(0,3,1,2) (7)-(6), (0,3,1,2)-(0,5,7,6,1) (4,6,5)-(3) (7)-(2,4), (0,3,4,1,2,5)-(0,2,6,1,3,7) (6)-(5) (7)-(4), (0,3,4,2,5,1)-(0,6,1,2,3,7) (6)-(4) (7)-(5), (0,3,4,2,5,1)-(0,6,1,2,3,7) (6)-(5) (7)-(4), (0,3,5,1)-(0,4,7,6) (2,6,4)-(5) (7)-(1,3,2), (0,4)-(0,6) (1,5)-(1,3,4,7) (2,7,6,3)-(2,5), (0,5)-(0,6,4) (1,3,2,4)-(1,7,5,2) (6,7)-(3), (0,5)-(0,4,6,7) (1,3,2,7,4)-(1,5,2) (6)-(3), (0,5)-(0,6,7) (1,6,3)-(1,4) (2,7,4)-(2,3,5), (0,5,2,3)-(7) (1,7,4)-(2,6,5) (6)-(0,4,1,3), (0,5,3)-(0,4,7) (1,4,2)-(1,5,6) (6,7)-(2,3), (0,7)-(0,5) (1,6)-(1,4) (2,4,3,5)-(2,7,3,6), (0,7,2)-(3,6) (1,3)-(0,5,1,4,2) (4,6,5)-(7), (0,7,3)-(0,2,5) (1,5,4,2)-(1,3,6,7) (6)-(4), (0,7,5)-(0,4) (1,3,2,4)-(1,5,6,7,2) (6)-(3), (0)-(4) (1,4,3,2,5)-(6,7) (6)-(5) (7)-(0,3,1,2), (0,1)-(0,2,5) (2,3)-(7) (4,5)-(6) (6,7)-(1,4,3), (0,1)-(5) (2,3,5,4)-(6,7) (6)-(0,2) (7)-(1,4,3), (0,1)-(0,4,5) (2,4,3,5)-(6,7) (6)-(2) (7)-(1,3), (0,1)-(0,2,5,6) (2,4,6)-(7) (3,7)-(1,4) (5)-(3), (0,1)-(0,2) (2,5,6)-(7) (3,7)-(1,6,4,5) (4)-(3), (0,1,2)-(0,1,5,6,7) (3,4)-(2) (5,7)-(4) (6)-(3), (0,1,2)-(0,5,1,6) (3,7)-(2,4) (4,5)-(7) (6)-(3), (0,1,4)-(0,1,7) (2,3)-(2,6) (5,6)-(4) (7)-(3,5), (0,2,1)-(7) (3)-(2) (4,5)-(6) (6,7)-(0,5,3,4,1), (0,2,1,3)-(4,5,7,6) (4)-(2) (5,6)-(3) (7)-(0,1), (0,2,3,1)-(0,6,1,2,7) (4,5)-(3) (6)-(4) (7)-(5), (0,2,4)-(0,2,3,1) (1,5,3)-(6,7) (6)-(5) (7)-(4), (0,2,4)-(0,2,7) (1,6,3)-(4) (5)-(6) (7)-(1,5,3), (0,3)-(0,5) (1,2)-(1,4) (4,6)-(3,7) (5,7)-(2,6), (0,3,1,2)-(4,6,5,7) (4)-(1) (5)-(0) (6,7)-(2,3), (0,3,1,2)-(6,7) (4,5)-(0,3,1,2) (6)-(5) (7)-(4), (0,3,1,2)-(7) (4,7)-(5,6) (5)-(4) (6)-(0,3,1,2), (0,3,5)-(0,3,7) (1,2,4)-(1,2,6) (6)-(5) (7)-(4), (0,4,2)-(3,7) (1,3)-(1,5) (5,7)-(0,6,2) (6)-(4), (0,4,2)-(6) (1,6,3)-(5,7) (5)-(4) (7)-(0,3,1,2), (0,5,1)-(6,7) (2,6)-(5) (3,7)-(0,4,1) (4)-(2,3), (0,5,2)-(1,7,3) (1,4,3)-(0,6,2) (6)-(4) (7)-(5), (0,5,2)-(1,7,3) (1,4,3)-(0,6,2) (6)-(5) (7)-(4), (0,6,1)-(7) (2,7)-(0,5,3,4,1) (3)-(2) (4,5)-(6), (0,7)-(5,6) (1,5)-(2,7) (2,4)-(1,3) (3,6)-(0,4), (0,7,2)-(1,6,3) (1,4,3)-(7) (5)-(4) (6)-(0,5,2), (0)-(3) (1)-(2) (2,4,3,5)-(6,7) (6)-(0,1) (7)-(4,5), (0)-(4) (1)-(2,3) (2,5,3,4)-(6,7) (6)-(5) (7)-(0,1), (0,1)-(0,3) (2,3)-(6) (4,6)-(5,7) (5)-(4) (7)-(1,2), (0,1)-(0,4) (2,3)-(1,7) (4,7)-(5,6) (5)-(3) (6)-(2), (0,1,2)-(0,1,7) (3)-(6) (4)-(5) (5,6)-(2) (7)-(3,4), (0,1,2)-(0,1,7) (3,4)-(5,6) (5)-(4) (6)-(2) (7)-(3), (0,2,1)-(6,7) (3,4)-(0,5,1) (5)-(2) (6)-(4) (7)-(3), (0,2,1)-(6,7) (3,4)-(0,5,1) (5)-(4) (6)-(2) (7)-(3), (0,3)-(7) (1,2)-(6) (4)-(2,3) (5)-(0,1) (6,7)-(4,5), (0,3,1)-(7) (2)-(3) (4,7)-(5,6) (5)-(4) (6)-(0,2,1), (0,3,1)-(7) (2)-(4) (4,7)-(5,6) (5)-(3) (6)-(0,2,1), (0,4)-(6) (1,6)-(4,7) (2,7)-(3,5) (3)-(1) (5)-(0,2), (0,4,1)-(7) (2)-(4) (3)-(5) (5,7)-(0,6,1) (6)-(2,3), (0,1)-(7) (2)-(0) (3)-(4) (4,7)-(5,6) (5)-(1) (6)-(2,3), (0,1)-(7) (2)-(1) (3)-(0) (4,7)-(5,6) (5)-(4) (6)-(2,3), (0,3)-(6,7) (1,2)-(4,5) (4)-(1) (5)-(3) (6)-(2) (7)-(0), (0,3)-(6,7) (1,2)-(4,5) (4)-(3) (5)-(0) (6)-(2) (7)-(1)] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| [(0,2,1,6,4,5,3)-(0,6,5,2,1,4,3), (0,2,5,1,3,6,4)-(0,2,6,5,1,3,4), (0,2,5,3,1,6,4)-(0,2,6,3,1,5,4), (0,6,2,3,4,5,1)-(0,2,4,6,5,3,1), (0,6,4,1,2,3,5)-(0,1,3,6,5,4,2), (0,1,2,3,4)-(0,3,6,1,5,2) (5,6)-(4), (0,1,3,4)-(0,5,1,6,3) (2,6,5)-(2,4), (0,1,3,4,5,2)-(0,1,4,6,3,2) (6)-(5), (0,1,3,5)-(0,3,4,2,1,6) (2,6,4)-(5), (0,1,3,6,4)-(3,5) (2,5)-(0,1,6,2,4), (0,1,4,2,3)-(0,1,6,2,5) (5,6)-(3,4), (0,1,4,5,2)-(0,1,6,4,2) (3,6)-(3,5), (0,1,4,5,2,3)-(0,6,3,1,2,4) (6)-(5), (0,1,4,5,3,2)-(0,1,3,6,4,2) (6)-(5), (0,1,5,6,3)-(4) (2,4)-(0,1,6,2,5,3), (0,2,3,1)-(0,4,2,6,1,5) (4,6,5)-(3), (0,2,3,4,1)-(0,6,2,3,5,1) (5,6)-(4), (0,2,3,5)-(1,2,3,6) (1,4,6)-(0,4,5), (0,2,4)-(0,2,5,3,1,6) (1,5,6,3)-(4), (0,2,4,1)-(0,2,6,1,5) (3,6,5)-(3,4), (0,2,4,5)-(2,4,6) (1,3,6)-(0,1,3,5), (0,2,6)-(0,5,2,4) (1,4,3,5)-(1,6,3), (0,2,6)-(0,5,2,4,1) (1,5,3,4)-(3,6), (0,3,1,2)-(4,6,5) (4,6,5)-(0,3,1,2), (0,3,4,2,1)-(0,6,2,3,5,1) (5,6)-(4), (0,3,4,2,1)-(0,6,3,2,5,1) (5,6)-(4), (0,3,4,5,2,1)-(0,2,4,6,3,1) (6)-(5), (0,3,4,5,2,1)-(0,6,3,2,4,1) (6)-(5), (0,3,5,1)-(6) (2,4,6)-(0,3,2,4,5,1), (0,3,6)-(0,4,1,3,5,2) (1,5,2,4)-(6), (0,4,2,6,3)-(2,5) (1,5)-(0,6,1,4,3), (0,4,5,2,1)-(0,2,6,4,1) (3,6)-(3,5), (0,5)-(0,3,4,6) (1,4,2,6,3)-(1,5,2), (0,6,4)-(0,3,5) (1,3,2,5)-(1,6,2,4), (0,1)-(0,2,5,4) (2,3,4)-(6) (5,6)-(1,3), (0,1)-(0,3,4,5,6) (2,3,6,4)-(1) (5)-(2), (0,1,2)-(0,4,1,6) (3,4)-(5) (5,6)-(2,3), (0,1,2)-(0,1,4,5,6) (3,4,6)-(2) (5)-(3), (0,1,2)-(0,1,4,5,6) (3,5)-(2) (4,6)-(3), (0,1,2)-(0,1,4,5,6) (3,6,4)-(2) (5)-(3), (0,1,3)-(0,1,6,4) (2,4)-(2,5) (5,6)-(3), (0,1,3,2)-(0,1,4,5,6) (4,6)-(2) (5)-(3), (0,1,3,2,4)-(0,2,1,5,6) (5)-(3) (6)-(4), (0,1,3,2,4)-(0,2,1,5,6) (5)-(4) (6)-(3), (0,1,4,2)-(0,5,1,6) (3,5)-(2) (6)-(3,4), (0,1,4,2,3)-(0,5,2,1,6) (5)-(3) (6)-(4), (0,1,4,2,3)-(0,5,2,1,6) (5)-(4) (6)-(3), (0,2)-(0,5) (1,3)-(1,4,2,6) (4,6,5)-(3), (0,2,1)-(4,6) (3,4)-(3,5) (5,6)-(0,2,1), (0,2,1)-(5) (3,4,5)-(3,4,6) (6)-(0,2,1), (0,2,1)-(3,6,4) (3,5,4)-(0,2,1) (6)-(5), (0,2,1,3)-(0,4,6,5,1) (4,5)-(3) (6)-(2), (0,2,1,3)-(0,6,1,5) (4,5)-(3) (6)-(2,4), (0,2,3,1)-(0,4,6,5) (4,5)-(3) (6)-(1,2), (0,2,3,1)-(0,5,1,2,6) (4,5)-(3) (6)-(4), (0,2,3,1)-(6) (4,6)-(0,2,5,3,1) (5)-(4), (0,2,4)-(0,2,3,1) (1,5,3)-(4,6) (6)-(5), (0,2,4)-(0,2,6,3,1) (1,5,3)-(4) (6)-(5), (0,2,4)-(0,3,1,2,6) (1,5,3)-(4) (6)-(5), (0,2,4)-(0,6,2,3,1) (1,5,3)-(4) (6)-(5), (0,2,4)-(1,2,3) (1,5,3)-(0,6,4) (6)-(5), (0,2,5)-(0,2,6) (1,3,4)-(1,3,5) (6)-(4), (0,3)-(0,4,5) (1,4,2)-(1,3,6) (5,6)-(2), (0,3)-(0,4,5) (1,4,2)-(1,6) (5,6)-(2,3), (0,3)-(0,4,5,2) (1,4,2)-(1,6) (5,6)-(3), (0,3)-(0,2,5,6) (1,4,6,2)-(1,3) (5)-(4), (0,3)-(0,2,4) (1,5,2)-(1,3,6) (4,6)-(5), (0,3)-(0,2,5) (1,5,4,2)-(1,3,6) (6)-(4), (0,3)-(0,2,5,6) (1,6,4,2)-(1,3) (5)-(4), (0,3,1)-(0,4,6,5) (2,5,4)-(1) (6)-(2,3), (0,3,1,2)-(5) (4,5)-(4,6) (6)-(0,3,1,2), (0,3,1,2)-(0,4,6,5,1) (4,5)-(3) (6)-(2), (0,3,1,2)-(5,6) (4,6)-(0,3,1,2) (5)-(4), (0,3,2,1)-(0,4,5,6) (4,6)-(1,3) (5)-(2), (0,3,4)-(3,6) (1,2,5)-(0,1,2,4) (6)-(5), (0,4)-(0,3) (1,5)-(1,4,6) (2,6,3)-(2,5), (0,4)-(0,3) (1,5)-(1,6) (2,6,3)-(2,4,5), (0,4,1)-(6) (2,3)-(5) (5,6)-(0,3,4,2,1), (0,4,2)-(5) (1,5,3)-(4,6) (6)-(0,3,1,2), (0,5)-(0,4) (1,3,2,4)-(1,5,6,2) (6)-(3), (0,5)-(0,4,6) (1,3,2,4)-(1,5,2) (6)-(3), (0,5)-(0,4) (1,4,2,3)-(1,6,2,5) (6)-(3), (0,5,1)-(0,4,6) (2,6)-(1,3) (3,4)-(2,5), (0,5,2)-(3,6) (1,3)-(0,1,4,2) (4,6)-(5), (0,5,4,1)-(6) (2,6)-(0,4,3,5,1) (3)-(2), (0,6,2)-(3) (1,3)-(0,5,1,4,2) (4,5)-(6), (0,6,2)-(1,5,3) (1,4,3)-(6) (5)-(0,4,2), (0)-(3) (1,3,2,4)-(5,6) (5)-(4) (6)-(0,2,1), (0)-(1) (1,3,4,2)-(5,6) (5)-(0,4) (6)-(2,3), (0)-(3) (1,4,2,3)-(5,6) (5)-(4) (6)-(0,2,1), (0)-(1,2) (1,4,2,3)-(5,6) (5)-(4) (6)-(0,3), (0,1)-(0,2,5) (2)-(3) (3,6)-(1,4) (4,5)-(6), (0,1)-(0,2) (2,4)-(6) (3,6)-(1,5,4) (5)-(3), (0,1)-(0,3,5,6) (2,4)-(1) (3,6)-(4) (5)-(2), (0,1)-(0,3) (2,5)-(1,6) (3,6)-(4,5) (4)-(2), (0,1,2)-(0,1,6) (3)-(5) (4,5)-(2) (6)-(3,4), (0,1,2)-(3,6,4,5) (3,4)-(2) (5)-(0) (6)-(1), (0,1,2)-(0,1,5,6) (3,4)-(2) (5)-(4) (6)-(3), (0,1,2)-(0,5,1,6) (3,4)-(2) (5)-(3) (6)-(4), (0,1,2)-(0,1,6) (3,6)-(4,5) (4)-(3) (5)-(2), (0,1,4)-(0,1,6) (2,3)-(2,5) (5)-(4) (6)-(3), (0,2)-(5) (1,3)-(6) (4)-(0,1) (5,6)-(2,4,3), (0,2)-(0,5) (1,3)-(1,6) (4,5)-(3) (6)-(2,4), (0,2)-(6) (1,4)-(3,5) (3,6)-(2,4) (5)-(0,1), (0,2,1)-(5,6) (3,4)-(0,2,1) (5)-(4) (6)-(3), (0,2,1)-(6) (3,6)-(4,5) (4)-(3) (5)-(0,2,1), (0,2,1)-(5,6) (3,6)-(0,4,1) (4)-(2) (5)-(3), (0,2,1)-(5,6) (3,6)-(0,4,1) (4)-(3) (5)-(2), (0,2,1)-(6) (3,6)-(0,5,4,1) (4)-(3) (5)-(2), (0,3,1)-(6) (2)-(4) (4,6)-(0,5,1) (5)-(2,3), (0,3,1)-(6) (2)-(3) (4,6)-(0,5,1) (5)-(2,4), (0,4,1)-(6) (2)-(3) (3,6)-(4,5) (5)-(0,2,1), (0,4,2)-(5,6) (1,3)-(0,1,2) (5)-(4) (6)-(3), (0,5,2)-(3) (1,3)-(1,6) (4)-(5) (6)-(0,4,2), (0)-(2) (1)-(3) (2,4,3)-(5,6) (5)-(4) (6)-(0,1), (0,1)-(0,6) (2)-(5) (3)-(4) (4,5)-(1) (6)-(2,3), (0,1)-(0,2) (2)-(3) (3,4)-(5,6) (5)-(4) (6)-(1), (0,2)-(6) (1)-(0) (3,6)-(4,5) (4)-(3) (5)-(1,2), (0,2)-(6) (1)-(3) (3,6)-(4,5) (4)-(0) (5)-(1,2), (0,4)-(6) (1)-(0) (2)-(3) (3,6)-(4,5) (5)-(1,2), (0,6)-(4,5) (1,2)-(3,6) (3)-(0) (4)-(2) (5)-(1), (0,6)-(4,5) (1,2)-(3,6) (3)-(2) (4)-(1) (5)-(0)] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| [(0,2,1)-(0,2,1), (0)-(1) (1,2)-(0,2)] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| [(0,5,3,1,2,4)-(0,5,3,1,2,4), (0)-(1) (1,2,5,4,3)-(0,2,5,4,3), (0,3,5)-(1,3,5) (1,2,4)-(0,2,4), (0,3,5,4)-(1,3,5,4) (1,2)-(0,2), (0)-(3) (1)-(2) (2,4,3,5)-(0,5,1,4), (0,1)-(2,3) (2,4)-(1,4) (3,5)-(0,5), (0,2)-(1,3) (1)-(0) (3,4,5)-(2,4,5), (0,3,4,5)-(1,4,5,2) (1)-(3) (2)-(0), (0,3,5)-(1,2,5) (1)-(0) (2,4)-(3,4), (0,2,1)-(3,5,4) (3)-(1) (4)-(2) (5)-(0), (0,5)-(3,4) (1,4)-(2,5) (2)-(1) (3)-(0), (0,5,2,1,4,3)-(0,4,2,1,5,3), (0,5,2,3,1,4)-(0,3,1,5,2,4), (0,5,3,2,1,4)-(0,1,3,4,5,2), (0,1,2,3)-(0,4,1,5,2) (4,5)-(3), (0,1,3,4)-(3,5) (2,5)-(0,1,2,4), (0,2,3,4,1)-(0,5,2,3,1) (5)-(4), (0,2,4)-(0,3,1,2,5) (1,5,3)-(4), (0,3,1,2)-(0,4,1,5) (4,5)-(2,3), (0,3,4)-(1,3,5) (1,2,5)-(0,2,4), (0,3,4,2,1)-(0,2,5,3,1) (5)-(4), (0,4,5,2)-(3) (1,3)-(0,5,1,4,2), (0,5,1)-(2,4,3) (2,4,3)-(0,5,1), (0,1)-(0,3,4,5) (2,3,5)-(1) (4)-(2), (0,1)-(0,2,4,5) (2,5)-(3) (3,4)-(1), (0,1,2)-(0,4,1,5) (3,5)-(2) (4)-(3), (0,1,3,2)-(0,1,4,5) (4)-(2) (5)-(3), (0,2,1)-(4) (3,4)-(3,5) (5)-(0,2,1), (0,2,1)-(4,5) (3,5)-(0,2,1) (4)-(3), (0,2,3)-(2,5) (1,4)-(0,1,3) (5)-(4), (0,3)-(0,4,5) (1,4,2)-(1,3) (5)-(2), (0,3,1)-(0,4,5) (2,4)-(1) (5)-(2,3), (0,3,1)-(5) (2,5)-(3,4) (4)-(0,2,1), (0,3,1,2)-(0,4,1,5) (4)-(2) (5)-(3), (0,5)-(3,4) (1,4)-(0,2) (2,3)-(1,5), (0,5)-(0,4) (1,4)-(1,3) (2,3)-(2,5), (0,1)-(0,5) (2)-(4) (3,4)-(1) (5)-(2,3), (0,2,1)-(3,4,5) (3)-(1) (4)-(2) (5)-(0), (0,3)-(5) (1)-(0) (2,5)-(3,4) (4)-(1,2), (0,3)-(0,5) (1,2)-(1,4) (4)-(3) (5)-(2), (0,5)-(3,4) (1,4)-(2,5) (2)-(0) (3)-(1)] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| [(0,4,2,1,3)-(0,4,2,1,3), (0)-(1) (1,2,4,3)-(0,2,4,3), (0,3,4)-(1,3,4) (1,2)-(0,2), (0,2)-(1,3) (1)-(0) (3,4)-(2,4), (0,3,4)-(1,4,2) (1)-(3) (2)-(0)] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # An example documentation | ||
|
|
||
| This is a sample text to outline the structure of the packages in the `Experimental` folder. | ||
| You can show docstrings like this: | ||
| ```@docs | ||
| my_access_func(S::ExampleStruct) | ||
| ``` | ||
|
|
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,309 @@ | ||||||||||||||
| # Add your new types, functions, and methods here. | ||||||||||||||
|
|
||||||||||||||
| module OrigamiHelper | ||||||||||||||
|
|
||||||||||||||
| using ..GAP | ||||||||||||||
|
|
||||||||||||||
| function __init__() | ||||||||||||||
| mod_p = "https://ag-weitze-schmithusen.github.io/ModularGroup/PackageInfo.g" | ||||||||||||||
| ori_p = "https://ag-weitze-schmithusen.github.io/Origami/PackageInfo.g" | ||||||||||||||
| GAP.Packages.install(mod_p) | ||||||||||||||
| GAP.Packages.install(ori_p) | ||||||||||||||
| GAP.Packages.load("Origami") | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| include("exports.jl") | ||||||||||||||
| include("types.jl") | ||||||||||||||
| include("canonical.jl") | ||||||||||||||
| include("deck_group.jl") | ||||||||||||||
| include("action.jl") | ||||||||||||||
| include("special_origami.jl") | ||||||||||||||
| include("generate.jl") | ||||||||||||||
| include("homology_action.jl") | ||||||||||||||
| include("cyclic_torus_covers.jl") | ||||||||||||||
| include("homology.jl") | ||||||||||||||
| include("normal_origami.jl") | ||||||||||||||
| include("systoles.jl") | ||||||||||||||
|
|
||||||||||||||
| @doc raw""" | ||||||||||||||
| origami(h::PermGroupElem, v::PermGroupElem) | ||||||||||||||
|
|
||||||||||||||
| This function constructs an Origami object from two given permutations h and v . A test is | ||||||||||||||
| performed to check whether the surface described by the given permutations is connected, i.e. | ||||||||||||||
| whether the group generated by the two permutations acts transitively. | ||||||||||||||
|
|
||||||||||||||
| # Examples | ||||||||||||||
| ```jldoctest | ||||||||||||||
| julia> h = @perm (1,2) | ||||||||||||||
| (1,2) | ||||||||||||||
|
|
||||||||||||||
| julia> v = @perm (2,3) | ||||||||||||||
| (1,2) | ||||||||||||||
|
|
||||||||||||||
| julia> o = origami(h,v) | ||||||||||||||
| Origami ((1,2),(2,3), 3) | ||||||||||||||
| ``` | ||||||||||||||
| """ | ||||||||||||||
| function origami(h::PermGroupElem, v::PermGroupElem) | ||||||||||||||
| d = max(degree(h), degree(v)) | ||||||||||||||
| G = symmetric_group(d) | ||||||||||||||
| obj = GAP.Globals.Origami(GapObj(h), GapObj(v)) | ||||||||||||||
| return Origami(obj, G(h), G(v), d) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| # ugly workaround | ||||||||||||||
| function from_GAP_origami(o::GapObj) | ||||||||||||||
| d = GAP.Globals.DegreeOrigami(o)::Int | ||||||||||||||
| G = symmetric_group(d) | ||||||||||||||
| h = PermGroupElem(G, GAP.Globals.HorizontalPerm(o)) | ||||||||||||||
| v = PermGroupElem(G, GAP.Globals.VerticalPerm(o)) | ||||||||||||||
| return origami(h, v) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function origami_disconnected(h::PermGroupElem, v::PermGroupElem, d::Integer) | ||||||||||||||
| return Origami(GAP.Globals.OrigamiNC(GapObj(h), GapObj(v), d), h, v, d) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function Base.:(==)(a::Origami, b::Origami) | ||||||||||||||
| # TODO rewrite this? for now use Gap equality | ||||||||||||||
| return (a.h == b.h) && (a.v == b.v) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function Base.hash(o::Origami, h::UInt=0x000000000) | ||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
this should not have a default value, as julia base already provides a one-argument |
||||||||||||||
| return hash(o.h, hash(o.v, hash(o.d, h))) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function horizontal_perm(o::Origami) | ||||||||||||||
| return o.h | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function vertical_perm(o::Origami) | ||||||||||||||
| return o.v | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function degree(o::Origami) | ||||||||||||||
| return o.d | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function Base.show(io::IO, o::Origami) | ||||||||||||||
| h = horizontal_perm(o) | ||||||||||||||
| v = vertical_perm(o) | ||||||||||||||
| d = degree(o) | ||||||||||||||
| print(io, "Origami ($(h),$(v), $(d))") | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| GapObj(O::Origami) = O.o | ||||||||||||||
|
|
||||||||||||||
| @doc raw""" | ||||||||||||||
| stratum(o::Origami) | ||||||||||||||
|
|
||||||||||||||
| This function calculates the stratum of an origami, i.e. the list of the (non-ascendingly | ||||||||||||||
| ordered) non-zero degrees of the singularities. For a singularity of cone angle 2kπ the | ||||||||||||||
| degree of the singularity is k-1. | ||||||||||||||
|
|
||||||||||||||
| # Examples | ||||||||||||||
| ```jldoctest | ||||||||||||||
| julia> o = origami(cperm([1,2],[3,4]), cperm([2,5,3,6],[4,7])) | ||||||||||||||
| Origami ((1,2)(3,4),(2,5,3,6)(4,7), 7) | ||||||||||||||
|
|
||||||||||||||
| julia> stratum(o) | ||||||||||||||
| 3-element Vector{Int64}: | ||||||||||||||
| 2 | ||||||||||||||
| 1 | ||||||||||||||
| 1 | ||||||||||||||
| ``` | ||||||||||||||
| """ | ||||||||||||||
| function stratum(o::Origami) | ||||||||||||||
| h = horizontal_perm(o) | ||||||||||||||
| v = vertical_perm(o) | ||||||||||||||
| commutator = comm(h, v) | ||||||||||||||
| cycs = cycles(commutator) | ||||||||||||||
| unsorted_stratum = [length(c) - 1 for c in cycs if length(c) > 1] | ||||||||||||||
| return sort!(unsorted_stratum; rev=true) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| @doc raw""" | ||||||||||||||
| genus(o::Origami) | ||||||||||||||
|
|
||||||||||||||
| Calculates the genus of an origami. | ||||||||||||||
|
|
||||||||||||||
| # Examples | ||||||||||||||
| ```jldoctest | ||||||||||||||
| julia> o = origami(cperm([1,2]), cperm([2,3])) | ||||||||||||||
| Origami ((1,2),(2,3), 3) | ||||||||||||||
|
|
||||||||||||||
| julia> genus(o) | ||||||||||||||
| 2 | ||||||||||||||
| ``` | ||||||||||||||
| """ | ||||||||||||||
| function genus(o::Origami) | ||||||||||||||
| return ZZ((sum(stratum(o)) + 2) / 2) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function veech_group(O::Origami) | ||||||||||||||
| # TODO use hashtables or not? Implement modular subgroup? | ||||||||||||||
| GAP.Globals.ComputeVeechGroupWithHashTables(GapObj(O)) | ||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this should have an explicit |
||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function index_monodromy_group(o::Origami) | ||||||||||||||
| return GAP.Globals.IndexOfMonodromyGroup(GapObj(o))::Int | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function sum_of_lyapunov_exponents(o::Origami) | ||||||||||||||
| return QQFieldElem(GAP.Globals.SumOfLyapunovExponents(GapObj(o))) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function translations(o::Origami) | ||||||||||||||
| h = horizontal_perm(o) | ||||||||||||||
| v = vertical_perm(o) | ||||||||||||||
|
|
||||||||||||||
| function act_on_tuples_by_conj(tup::Vector{PermGroupElem}, g::PermGroupElem) | ||||||||||||||
| return [tup[1]^g, tup[2]^g] | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| S = stabilizer(symmetric_group(degree(o)), [h, v], act_on_tuples_by_conj)[1] | ||||||||||||||
| return elements(S) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function is_hyperelliptic(o::Origami) | ||||||||||||||
| # check whether -1 is in the veech group | ||||||||||||||
| if !veech_group_is_even(o) | ||||||||||||||
| return false | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| x = horizontal_perm(o) | ||||||||||||||
| y = vertical_perm(o) | ||||||||||||||
| g = genus(o) | ||||||||||||||
|
|
||||||||||||||
| L = point_reflections(o) | ||||||||||||||
| L = filter(i -> order(i) == 2, L) | ||||||||||||||
|
|
||||||||||||||
| isempty(L) && return false | ||||||||||||||
|
|
||||||||||||||
| degree_list = collect(1:degree(o)) | ||||||||||||||
| for sigma in L | ||||||||||||||
| # fixpoints | ||||||||||||||
| b = | ||||||||||||||
| length(setdiff(degree_list, moved_points(sigma))) + | ||||||||||||||
| length(setdiff(degree_list, moved_points(sigma * x))) + | ||||||||||||||
| length(setdiff(degree_list, moved_points(sigma * y))) | ||||||||||||||
|
Comment on lines
+189
to
+191
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
|
|
||||||||||||||
| p1 = sigma * x^-1 * y^-1 | ||||||||||||||
| p2 = y * x * (x * y)^-1 | ||||||||||||||
| for i in degree_list | ||||||||||||||
| if i^p1 == i^p2 | ||||||||||||||
| b += 1 | ||||||||||||||
| end | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| if 2 * g + 2 - b == 0 | ||||||||||||||
| return true | ||||||||||||||
| end | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| return false | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function cylinder_structure(o::Origami) | ||||||||||||||
| gap_obj = GAP.Globals.CylinderStructure(GapObj(o)) | ||||||||||||||
| cyl_lists = Vector{Vector{Int}}(gap_obj) | ||||||||||||||
| cyl_tuples = [(l[1], l[2]) for l in cyl_lists] | ||||||||||||||
|
Comment on lines
+211
to
+212
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
this could work as well (I haven't tested it) |
||||||||||||||
| return cyl_tuples | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function veech_group_and_orbit(o::Origami) | ||||||||||||||
| return GAP.Globals.VeechGroupAndOrbit(GapObj(o)) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function veech_group_is_even(o::Origami) | ||||||||||||||
| return GAP.Globals.VeechGroupIsEven(GapObj(o))::Bool | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function are_equivalent(o1::Origami, o2::Origami) | ||||||||||||||
| return GAP.Globals.OrigamisEquivalent(GapObj(o1), GapObj(o2))::Bool | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| # TODO why is this not in canonical.jl? | ||||||||||||||
| function normalform_conjugators(o::Origami) | ||||||||||||||
| x = horizontal_perm(o) | ||||||||||||||
| y = vertical_perm(o) | ||||||||||||||
| n = degree(o) | ||||||||||||||
| G = PermGroupElem[] | ||||||||||||||
| sym = parent(x) | ||||||||||||||
|
|
||||||||||||||
| # Starting from each of the vertices found above, do a breadth-first search | ||||||||||||||
| # and list the vertices in the order they appear. | ||||||||||||||
| # This defines a permutation l with which we conjugate x and y. | ||||||||||||||
| # From the resulting list of pairs of permutations (all of which are by | ||||||||||||||
| # definition simultaneously conjugated to (x,y)) we choose the | ||||||||||||||
| # lexicographically smallest one as the canonical form. | ||||||||||||||
| for i in 1:n | ||||||||||||||
| L = fill(0, n) | ||||||||||||||
| seen = fill(false, n) | ||||||||||||||
| Q = [i] | ||||||||||||||
| seen[i] = true | ||||||||||||||
| numSeen = 1 | ||||||||||||||
| L[i] = 1 | ||||||||||||||
| while numSeen < n | ||||||||||||||
| v = popfirst!(Q) | ||||||||||||||
| wx = v^x | ||||||||||||||
| wy = v^y | ||||||||||||||
| if !seen[wx] | ||||||||||||||
| push!(Q, wx) | ||||||||||||||
| seen[wx] = true | ||||||||||||||
| numSeen += 1 | ||||||||||||||
| L[wx] = numSeen | ||||||||||||||
| end | ||||||||||||||
| if !seen[wy] | ||||||||||||||
| push!(Q, wy) | ||||||||||||||
| seen[wy] = true | ||||||||||||||
| numSeen += 1 | ||||||||||||||
| L[wy] = numSeen | ||||||||||||||
| end | ||||||||||||||
| end | ||||||||||||||
| push!(G, perm(sym, L)) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| return G | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function point_reflections(o::Origami) | ||||||||||||||
| if !veech_group_is_even(o) | ||||||||||||||
| throw("VeechGroup must contain -1") | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| h = horizontal_perm(o) | ||||||||||||||
| v = vertical_perm(o) | ||||||||||||||
| o1 = origami(h^-1, v^-1) | ||||||||||||||
| h1 = horizontal_perm(o1) | ||||||||||||||
| v1 = vertical_perm(o1) | ||||||||||||||
| G = normalform_conjugators(o) | ||||||||||||||
| G1 = normalform_conjugators(o1) | ||||||||||||||
|
|
||||||||||||||
| f(i) = origami(h^i, v^i) | ||||||||||||||
| f1(i) = origami(h1^i, v1^i) | ||||||||||||||
|
|
||||||||||||||
| # origamis derived from the permutations above | ||||||||||||||
| O = f.(G) | ||||||||||||||
| # we need to calculate these to test find k s.t. | ||||||||||||||
| # sigma_i *origami *sigma_i^-1=delta_k(i)*origami_1*delta_k(i)^-1 | ||||||||||||||
| O1 = f1.(G1) | ||||||||||||||
|
|
||||||||||||||
| # fitting the permuations together | ||||||||||||||
| result = PermGroupElem[] | ||||||||||||||
|
|
||||||||||||||
| l = length(O) | ||||||||||||||
| for i in 1:l | ||||||||||||||
| index = findfirst(item -> item == O[i], O1) | ||||||||||||||
| push!(result, G[i] * (G1[index])^-1) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| return unique!(result) | ||||||||||||||
| end | ||||||||||||||
|
|
||||||||||||||
| function automorphisms(o::Origami) | ||||||||||||||
| # TODO is this structure useful? | ||||||||||||||
| return (translations(o), 1), (point_reflections(o), -1) | ||||||||||||||
| end | ||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clearly this file needs to be updated