From a9d055aa55a8c78ff390924152bde565b3f18a1e Mon Sep 17 00:00:00 2001 From: jgarnek Date: Fri, 24 Mar 2023 19:42:29 +0000 Subject: [PATCH] dzialaja wspolrzedne crystalline cohomologygit add sage/superelliptic_drw/tests/auxilliary_decompositions_test.sage sage/superelliptic_drw/regular_form.sage sage/superelliptic/tests/expansion_at_infty.sage sage/auxilliaries/laurent_analytic_part.sagegit add sage/superelliptic_drw/tests/auxilliary_decompositions_test.sage sage/superelliptic_drw/regular_form.sage sage/superelliptic/tests/expansion_at_infty.sage sage/auxilliaries/laurent_analytic_part.sage --- sage/.run.term-0.term | 1211 +++++++++++++++++ sage/auxilliaries/laurent_analytic_part.sage | 16 + sage/superelliptic/superelliptic_class.sage | 2 +- .../tests/expansion_at_infty.sage | 14 + sage/superelliptic_drw/regular_form.sage | 102 ++ .../superelliptic_drw_auxilliaries.sage | 34 +- .../superelliptic_drw_cech.sage | 26 +- .../tests/auxilliary_decompositions_test.sage | 14 + sage/tests.sage | 6 +- 9 files changed, 1398 insertions(+), 27 deletions(-) create mode 100644 sage/auxilliaries/laurent_analytic_part.sage create mode 100644 sage/superelliptic/tests/expansion_at_infty.sage create mode 100644 sage/superelliptic_drw/regular_form.sage create mode 100644 sage/superelliptic_drw/tests/auxilliary_decompositions_test.sage diff --git a/sage/.run.term-0.term b/sage/.run.term-0.term index b46964a..2888d8e 100644 --- a/sage/.run.term-0.term +++ b/sage/.run.term-0.term @@ -54209,3 +54209,1214 @@ omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18  [?7h[?12l[?25h[?25l[?7lq[?7h[?12l[?25h[?25l[?7lu[?7h[?12l[?25h[?25l[?7li[?7h[?12l[?25h[?25l[?7lt[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7lsage: quit() [?7h[?12l[?25h[?2004l]0;~/Research/2021 De Rham/DeRhamComputation/sage~/Research/2021 De Rham/DeRhamComputation/sage$ cd .. ]0;~/Research/2021 De Rham/DeRhamComputation~/Research/2021 De Rham/DeRhamComputation$ gigit add auxsuperelliptic_arbitrary_field.ipynb age/superelliptic_drw/superelliptic_drw_auxilliaries.sage +]0;~/Research/2021 De Rham/DeRhamComputation~/Research/2021 De Rham/DeRhamComputation$ aigit add -u +]0;~/Research/2021 De Rham/DeRhamComputation~/Research/2021 De Rham/DeRhamComputation$ git commit - mm "naprawiony problem z uniformizatorem w superelliptic; decomposition_omega8_hpdh dziala" +[master 995d5f0] naprawiony problem z uniformizatorem w superelliptic; decomposition_omega8_hpdh dziala + 7 files changed, 3618 insertions(+), 35 deletions(-) + create mode 100644 sage/superelliptic_drw/superelliptic_drw_auxilliaries.sage +]0;~/Research/2021 De Rham/DeRhamComputation~/Research/2021 De Rham/DeRhamComputation$ git push +Username for 'https://git.wmi.amu.edu.pl': jgarnek +Password for 'https://jgarnek@git.wmi.amu.edu.pl': +Enumerating objects: 22, done. +Counting objects: 4% (1/22) Counting objects: 9% (2/22) Counting objects: 13% (3/22) Counting objects: 18% (4/22) Counting objects: 22% (5/22) Counting objects: 27% (6/22) Counting objects: 31% (7/22) Counting objects: 36% (8/22) Counting objects: 40% (9/22) Counting objects: 45% (10/22) Counting objects: 50% (11/22) Counting objects: 54% (12/22) Counting objects: 59% (13/22) Counting objects: 63% (14/22) Counting objects: 68% (15/22) Counting objects: 72% (16/22) Counting objects: 77% (17/22) Counting objects: 81% (18/22) Counting objects: 86% (19/22) Counting objects: 90% (20/22) Counting objects: 95% (21/22) Counting objects: 100% (22/22) Counting objects: 100% (22/22), done. +Delta compression using up to 4 threads +Compressing objects: 8% (1/12) Compressing objects: 16% (2/12) Compressing objects: 25% (3/12) Compressing objects: 33% (4/12) Compressing objects: 41% (5/12) Compressing objects: 50% (6/12) Compressing objects: 58% (7/12) Compressing objects: 66% (8/12) Compressing objects: 75% (9/12) Compressing objects: 83% (10/12) Compressing objects: 91% (11/12) Compressing objects: 100% (12/12) Compressing objects: 100% (12/12), done. +Writing objects: 8% (1/12) Writing objects: 16% (2/12) Writing objects: 25% (3/12) Writing objects: 33% (4/12) Writing objects: 41% (5/12) Writing objects: 50% (6/12) Writing objects: 58% (7/12) Writing objects: 66% (8/12) Writing objects: 75% (9/12) Writing objects: 83% (10/12) Writing objects: 91% (11/12) Writing objects: 100% (12/12) Writing objects: 100% (12/12), 40.37 KiB | 359.00 KiB/s, done. +Total 12 (delta 10), reused 0 (delta 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To https://git.wmi.amu.edu.pl/jgarnek/DeRhamComputation.git + 42ccc4d..995d5f0 master -> master +]0;~/Research/2021 De Rham/DeRhamComputation~/Research/2021 De Rham/DeRhamComputation$ ]0;~/Research/2021 De Rham/DeRhamComputation/sage~/Research/2021 De Rham/DeRhamComputation/sage$ ]0;~/Research/2021 De Rham/DeRhamComputation/sage~/Research/2021 De Rham/DeRhamComputation/sage$ ]0;~/Research/2021 De Rham/DeRhamComputation/sage~/Research/2021 De Rham/DeRhamComputation/sage$ sage +┌────────────────────────────────────────────────────────────────────┐ +│ SageMath version 9.7, Release Date: 2022-09-19 │ +│ Using Python 3.10.5. Type "help()" for help. │ +└────────────────────────────────────────────────────────────────────┘ +]0;IPython: DeRhamComputation/sage[?2004h[?1l[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ld('init.sage')[?7h[?12l[?25h[?25l[?7lsage: load('init.sage') +[?7h[?12l[?25h[?2004l:218: DeprecationWarning: invalid escape sequence '\s' +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7lad('init.sage')[?7h[?12l[?25h[?25l[?7lsage: load('init.sage') +[?7h[?12l[?25h[?2004l:218: DeprecationWarning: invalid escape sequence '\s' +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7lad('init.sage')[?7h[?12l[?25h[?25l[?7lsage: load('init.sage') +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ld[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l'[?7h[?12l[?25h[?25l[?7ls[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7ls[?7h[?12l[?25h[?25l[?7lu[?7h[?12l[?25h[?25l[?7lp[?7h[?12l[?25h[?25l[?7lsage: load('super + super superelliptic_cech superelliptic_drw_form superelliptic_regular_drw_form supersingular_D  + superelliptic superelliptic_drw/ superelliptic_form superelliptic_regular_form supersingular_j  + superelliptic/ superelliptic_drw_cech superelliptic_function superelliptic_witt  + + [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l + super  + + + [?7h[?12l[?25h[?25l[?7lelliptic + super  + superelliptic [?7h[?12l[?25h[?25l[?7l/ + + superelliptic  + superelliptic/ [?7h[?12l[?25h[?25l[?7lt + + + +[?7h[?12l[?25h[?25l[?7le[?7h[?12l[?25h[?25l[?7lsts/[?7h[?12l[?25h[?25l[?7le[?7h[?12l[?25h[?25l[?7lx[?7h[?12l[?25h[?25l[?7lpansion_at_infty.sage[?7h[?12l[?25h[?25l[?7l'[?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7lsage: load('superelliptic/tests/expansion_at_infty.sage') +[?7h[?12l[?25h[?2004lTrue +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7lsage:  + + + [?7h[?12l[?25h[?25l[?7lload('superelliptic/tests/expansion_at_infty.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7lad('superelliptic/tests/expansion_at_infty.sage')[?7h[?12l[?25h[?25l[?7lsage: load('superelliptic/tests/expansion_at_infty.sage') +[?7h[?12l[?25h[?2004lTrue +True True +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7l [?7h[?12l[?25h[?25l[?7l= superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lsage: C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lom8.is_regular_on_Uinfty()[?7h[?12l[?25h[?25l[?7lm[?7h[?12l[?25h[?25l[?7lsage: om = ((C.x^28 - C.x^26 + C.x^25 - C.x^24 + C.x^23 - C.x^22 - C.x^21 + C.x^20 + C.x^19 + C.x^18 + C.x^17 + C.x^15 - C.x^14 + C.x^13 + C.x^12 + C.x^11 - C.x^1 0 +....:  - C.x^8 - C.x^7 + C.x^6 - C.x^5 + C.x^4 + C.x^2 + C.x - C.one)/(C.x^16*C.y - C.x^15*C.y + C.x^14*C.y - C.x^13*C.y + C.x^12*C.y - C.x^11*C.y + C.x^10*C.y - C +....: .x^9*C.y - C.x^8*C.y + C.x^7*C.y - C.x^6*C.y + C.x^5*C.y - C.x^4*C.y + C.x^3*C.y - C.x^2*C.y + C.x*C.y))*C.dx[?7h[?12l[?25h[?25l[?7l=[?7h[?12l[?25h[?25l[?7l [?7h[?12l[?25h[?25l[?7l((C.x^28 - C.x^26 + C.x^25 - C.x^24 + C.x^23 - C.x^22 - C.x^21 + C.x^20 + C.x^19 + C.x^18 + C.x^17 + C.x^15 - C.x^14 + C.x^13 + C.x^12 + C.x^11 - C.x^1 0 + - C.x^8 - C.x^7 + C.x^6 - C.x^5 + C.x^4 + C.x^2 + C.x - C.one)/(C.x^16*C.y - C.x^15*C.y + C.x^14*C.y - C.x^13*C.y + C.x^12*C.y - C.x^11*C.y + C.x^10*C.y - C +.x^9*C.y - C.x^8*C.y + C.x^7*C.y - C.x^6*C.y + C.x^5*C.y - C.x^4*C.y + C.x^3*C.y - C.x^2*C.y + C.x*C.y))*C.dx[?7h[?12l[?25h[?25l[?7lsage: om = ((C.x^28 - C.x^26 + C.x^25 - C.x^24 + C.x^23 - C.x^22 - C.x^21 + C.x^20 + C.x^19 + C.x^18 + C.x^17 + C.x^15 - C.x^14 + C.x^13 + C.x^12 + C.x^11 - C.x^1 0 +....:  - C.x^8 - C.x^7 + C.x^6 - C.x^5 + C.x^4 + C.x^2 + C.x - C.one)/(C.x^16*C.y - C.x^15*C.y + C.x^14*C.y - C.x^13*C.y + C.x^12*C.y - C.x^11*C.y + C.x^10*C.y - C +....: .x^9*C.y - C.x^8*C.y + C.x^7*C.y - C.x^6*C.y + C.x^5*C.y - C.x^4*C.y + C.x^3*C.y - C.x^2*C.y + C.x*C.y))*C.dx +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7ldecomposition_omega8_hpdh(om)[?7h[?12l[?25h[?25l[?7le[?7h[?12l[?25h[?25l[?7lcomposition_omega8_hpdh(om)[?7h[?12l[?25h[?25l[?7lsage: decomposition_omega8_hpdh(om) +[?7h[?12l[?25h[?2004lomega_analytic (T^14 + 2*T^4 + T^2 + 1)/T^18 +omega_analytic.expansion_at_infty() t^-18 + t^-16 + 2*t^-14 + t^-4 + O(t^32) +omega_analytic ((x^72 + x^71 - x^70 + x^65 - x^64 - x^62 - x^56 - x^55 - x^49 - x^48 + x^47 - x^46 - x^40 - x^38 - x^32 - x^31 - x^24 + x^23 - x^22 - x^16 - x^14 - x^8 - x^7 + 1)/(x^60*y)) dx +omega8 ((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx +dh ((x^24 + x^22 - x^16 + x^14 - x^8 + 1)/(x^18*y)) dx +omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18 + t^20 + 2*t^22 + t^32 + 2*t^40 + t^48 + O(t^50) +[?7h(((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx, + ((x^32 + 2*x^30 + 2*x^24 + 2*x^14 + 2*x^8 + 1)/(x^34 + x^26 + x^18))*y) +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('superelliptic/tests/expansion_at_infty.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ld[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l'[?7h[?12l[?25h[?25l[?7ls[?7h[?12l[?25h[?25l[?7lu[?7h[?12l[?25h[?25l[?7lp[?7h[?12l[?25h[?25l[?7le[?7h[?12l[?25h[?25l[?7lr[?7h[?12l[?25h[?25l[?7ll[?7h[?12l[?25h[?25l[?7ll[?7h[?12l[?25h[?25l[?7li[?7h[?12l[?25h[?25l[?7lp[?7h[?12l[?25h[?25l[?7lt[?7h[?12l[?25h[?25l[?7li[?7h[?12l[?25h[?25l[?7lc[?7h[?12l[?25h[?25l[?7l_[?7h[?12l[?25h[?25l[?7ld[?7h[?12l[?25h[?25l[?7lr[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l,[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('superelliptic/tests/expansion_at_infty.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ld[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l'[?7h[?12l[?25h[?25l[?7ls[?7h[?12l[?25h[?25l[?7lu[?7h[?12l[?25h[?25l[?7lp[?7h[?12l[?25h[?25l[?7lsage: load('superelliptic/tests/expansion_at_infty.sage') + super superelliptic_cech superelliptic_drw_form superelliptic_regular_drw_form supersingular_D  + superelliptic superelliptic_drw/ superelliptic_form superelliptic_regular_form supersingular_j  + superelliptic/ superelliptic_drw_cech superelliptic_function superelliptic_witt  + + [?7h[?12l[?25h[?25l[?7l + super  + + + [?7h[?12l[?25h[?25l[?7lelliptic_cech + super  superelliptic_cech [?7h[?12l[?25h[?25l[?7ldrw/ + superelliptic_cech  + superelliptic_drw/ [?7h[?12l[?25h[?25l[?7lt + + + +[?7h[?12l[?25h[?25l[?7lests/[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7luxilliary_decompositions_test.sage[?7h[?12l[?25h[?25l[?7l'[?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7lsage: load('superelliptic_drw/tests/auxilliary_decompositions_test.sage') +[?7h[?12l[?25h[?2004lomega_analytic (T^14 + 2*T^4 + T^2 + 1)/T^18 +omega_analytic.expansion_at_infty() t^-18 + t^-16 + 2*t^-14 + t^-4 + O(t^32) +omega_analytic ((x^72 + x^71 - x^70 + x^65 - x^64 - x^62 - x^56 - x^55 - x^49 - x^48 + x^47 - x^46 - x^40 - x^38 - x^32 - x^31 - x^24 + x^23 - x^22 - x^16 - x^14 - x^8 - x^7 + 1)/(x^60*y)) dx +omega8 ((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx +dh ((x^24 + x^22 - x^16 + x^14 - x^8 + 1)/(x^18*y)) dx +omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18 + t^20 + 2*t^22 + t^32 + 2*t^40 + t^48 + O(t^50) +True +True True +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('superelliptic_drw/tests/auxilliary_decompositions_test.sage')[?7h[?12l[?25h[?25l[?7load('superelliptic_drw/tests/auxilliary_decompositions_test.sage')[?7h[?12l[?25h[?25l[?7lsage: load('superelliptic_drw/tests/auxilliary_decompositions_test.sage') +[?7h[?12l[?25h[?2004lomega_analytic (T^14 + 2*T^4 + T^2 + 1)/T^18 +omega_analytic.expansion_at_infty() t^-18 + t^-16 + 2*t^-14 + t^-4 + O(t^32) +omega_analytic ((x^72 + x^71 - x^70 + x^65 - x^64 - x^62 - x^56 - x^55 - x^49 - x^48 + x^47 - x^46 - x^40 - x^38 - x^32 - x^31 - x^24 + x^23 - x^22 - x^16 - x^14 - x^8 - x^7 + 1)/(x^60*y)) dx +omega8 ((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx +dh ((x^24 + x^22 - x^16 + x^14 - x^8 + 1)/(x^18*y)) dx +omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18 + t^20 + 2*t^22 + t^32 + 2*t^40 + t^48 + O(t^50) +True +True True +True True +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h]0;~/Research/2021 De Rham/DeRhamComputation/sage~/Research/2021 De Rham/DeRhamComputation/sage$ ]0;~/Research/2021 De Rham/DeRhamComputation/sage~/Research/2021 De Rham/DeRhamComputation/sage$ ]0;~/Research/2021 De Rham/DeRhamComputation/sage~/Research/2021 De Rham/DeRhamComputation/sage$ sage +┌────────────────────────────────────────────────────────────────────┐ +│ SageMath version 9.7, Release Date: 2022-09-19 │ +│ Using Python 3.10.5. Type "help()" for help. │ +└────────────────────────────────────────────────────────────────────┘ +]0;IPython: DeRhamComputation/sage[?2004h[?1l[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('superelliptic_drw/tests/auxilliary_decompositions_test.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ld('superelliptic_drw/tests/auxilliary_decompositions_test.sage')[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7linit.sage')[?7h[?12l[?25h[?25l[?7ln[?7h[?12l[?25h[?25l[?7li[?7h[?12l[?25h[?25l[?7l(t.sage')[?7h[?12l[?25h[?25l[?7lsage: load('init.sage') +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7l [?7h[?12l[?25h[?25l[?7l=[?7h[?12l[?25h[?25l[?7l superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lsage: C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7l [?7h[?12l[?25h[?25l[?7l=[?7h[?12l[?25h[?25l[?7l [?7h[?12l[?25h[?25l[?7lC.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lsage: B = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +[?7h[?12l[?25h[?2004lomega0_lift, omega8_lift [(1/(x^9 + 2*x))*y] d[x] + V(((x^9 + x)/(x^8*y - y)) dx) + dV([(x^9/(x^8 + 2))*y]) [(1/(x^9 + 2*x))*y] d[x] + V(((x^8 + 1)/(x^15*y - x^7*y)) dx) + dV([(1/(x^23 + 2*x^15))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(1/(x^8 + 2))*y] d[x] + V(((-x^20 - x^12 + x^4)/(x^8*y - y)) dx) + dV([(x^12/(x^8 + 2))*y]) [(1/(x^8 + 2))*y] d[x] + V(((x^16 + 1)/(x^20*y - x^12*y)) dx) + dV([(1/(x^20 + 2*x^12))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x/(x^8 + 2))*y] d[x] + V(((x^23 + x^7)/(x^8*y - y)) dx) + dV([(x^15/(x^8 + 2))*y]) [(x/(x^8 + 2))*y] d[x] + V(((x^16 - x^8 - 1)/(x^17*y - x^9*y)) dx) + dV([(1/(x^17 + 2*x^9))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^2/(x^8 + 2))*y] d[x] + V(((x^18 + x^10)/(x^8*y - y)) dx) + dV([(x^18/(x^8 + 2))*y]) [(x^2/(x^8 + 2))*y] d[x] + V(((x^10 + x^2)/(x^8*y - y)) dx) + dV([(1/(x^14 + 2*x^6))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^6/(x^8 + 2))*y] d[x] + V(((-x^38 - x^30 + x^22)/(x^8*y - y)) dx) + dV([(x^30/(x^8 + 2))*y]) [(2/(x^10 + 2*x^2))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^26*y - x^18*y)) dx) + dV([(2/(x^26 + 2*x^18))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(2*x^5/(x^8 + 2))*y] d[x] + V(((-x^27 - x^19)/(x^8*y - y)) dx) + dV([(2*x^27/(x^8 + 2))*y]) 0 +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift 0 [(1/(x^12 + 2*x^4))*y] d[x] + V(((x^8 + 1)/(x^24*y - x^16*y)) dx) + dV([(1/(x^32 + 2*x^24))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^3/(x^8 + 2))*y] d[x] + V(((-x^29 - x^21 + x^13)/(x^8*y - y)) dx) + dV([(x^21/(x^8 + 2))*y]) [(2/(x^13 + 2*x^5))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^35*y - x^27*y)) dx) + dV([(2/(x^35 + 2*x^27))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +(1, 1, 0, 2, 1, 2, 1, 2) +omega_analytic (T^14 + 2*T^4 + T^2 + 1)/T^18 +omega_analytic.expansion_at_infty() t^-18 + t^-16 + 2*t^-14 + t^-4 + O(t^32) +omega_analytic ((x^72 + x^71 - x^70 + x^65 - x^64 - x^62 - x^56 - x^55 - x^49 - x^48 + x^47 - x^46 - x^40 - x^38 - x^32 - x^31 - x^24 + x^23 - x^22 - x^16 - x^14 - x^8 - x^7 + 1)/(x^60*y)) dx +omega8 ((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx +dh ((x^24 + x^22 - x^16 + x^14 - x^8 + 1)/(x^18*y)) dx +omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18 + t^20 + 2*t^22 + t^32 + 2*t^40 + t^48 + O(t^50) +--------------------------------------------------------------------------- +NameError Traceback (most recent call last) +Input In [3], in () +----> 1 B = C.crystalline_cohomology_basis(prec = Integer(100)); autom(B[Integer(4)]).coordinates(basis=B) + +File :103, in coordinates(self, basis) + +File :85, in div_by_p(self) + +NameError: name 'decomposition_g8_p2th_power' is not defined +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7lad('init.sage')[?7h[?12l[?25h[?25l[?7lsage: load('init.sage') +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lsage: B = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +[?7h[?12l[?25h[?2004l^Csage/rings/polynomial/polynomial_zmod_flint.pyx:7: DeprecationWarning: invalid escape sequence '\Z' + """ +sage/rings/polynomial/polynomial_zmod_flint.pyx:7: DeprecationWarning: invalid escape sequence '\Z' + """ +--------------------------------------------------------------------------- +KeyboardInterrupt Traceback (most recent call last) +File :59, in __mul__(self, other) + +File :235, in reduction(C, g) + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:287, in sage.structure.coerce_maps.NamedConvertMap._call_() + 286 cdef Map m +--> 287 cdef Element e = method(C) + 288 if e is None: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial.pyx:198, in sage.rings.polynomial.multi_polynomial.MPolynomial._polynomial_() + 197 if var in self._parent.variable_names(): +--> 198 return R(self.polynomial(self._parent(var))) + 199 else: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial.pyx:419, in sage.rings.polynomial.multi_polynomial.MPolynomial.polynomial() + 418 for e, val in self.dict().iteritems() if not e[ind]} +--> 419 v = [B(w)] # coefficients that don't involve var + 420 z = var + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + +File /ext/sage/9.7/src/sage/rings/polynomial/polynomial_ring.py:469, in PolynomialRing_general._element_constructor_(self, x, check, is_gen, construct, **kwds) + 468 x = x.truncate() +--> 469 return C(self, x, check, is_gen, construct=construct, **kwds) + +File /ext/sage/9.7/src/sage/rings/polynomial/polynomial_zmod_flint.pyx:129, in sage.rings.polynomial.polynomial_zmod_flint.Polynomial_zmod_flint.__init__() + 128 pass +--> 129 Polynomial_template.__init__(self, parent, x, check, is_gen, construct) + 130 + +File /ext/sage/9.7/src/sage/rings/polynomial/polynomial_template.pxi:157, in sage.rings.polynomial.polynomial_zmod_flint.Polynomial_template.__init__() + 156 for deg, coef in x.iteritems(): +--> 157 celement_pow(monomial, gen, deg, NULL, (self)._cparent) + 158 celement_mul(monomial, &(self.__class__(parent, coef)).x, monomial, (self)._cparent) + +File /ext/sage/9.7/src/sage/libs/flint/nmod_poly_linkage.pxi:547, in sage.rings.polynomial.polynomial_zmod_flint.celement_pow() + 546 else: +--> 547 sig_on() + 548 nmod_poly_pow(res, x, e) + +KeyboardInterrupt: + +During handling of the above exception, another exception occurred: + +AttributeError Traceback (most recent call last) +Input In [5], in () +----> 1 B = C.crystalline_cohomology_basis(prec = Integer(100)); autom(B[Integer(4)]).coordinates(basis=B) + +File :53, in crystalline_cohomology_basis(self, prec) + +File :25, in de_rham_witt_lift(cech_class, prec) + +File :15, in de_rham_witt_lift_form8(omega) + +File :73, in diffn(self, dy_w) + +File :177, in dy_w(C) + +File :149, in auxilliary_derivative(P) + +File :55, in __rmul__(self, other) + +File :84, in __add__(self, other) + +File :31, in __add__(self, other) + +File :63, in __mul__(self, other) + +AttributeError: 'superelliptic_function' object has no attribute 'form' +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lCsuperelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lsage: C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lBC.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lsage: B = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +[?7h[?12l[?25h[?2004l^C--------------------------------------------------------------------------- +KeyboardInterrupt Traceback (most recent call last) +Input In [7], in () +----> 1 B = C.crystalline_cohomology_basis(prec = Integer(100)); autom(B[Integer(4)]).coordinates(basis=B) + +File :52, in crystalline_cohomology_basis(self, prec) + +File :98, in de_rham_basis(self) + +File :80, in basis_de_rham_degrees(self) + +File :5, in __init__(self, C, omega, fct) + +File :95, in diffn(self) + +File :7, in __init__(self, C, g) + +File :257, in reduction_form(C, g) + +File :236, in reduction(C, g) + +File /ext/sage/9.7/src/sage/rings/polynomial/polynomial_element.pyx:2321, in sage.rings.polynomial.polynomial_element.Polynomial.__truediv__() + 2319 # Same parents => bypass coercion + 2320 if have_same_parent(left, right): +-> 2321 return (left)._div_(right) + 2322 + 2323 # Try division of polynomial by a scalar + +File /ext/sage/9.7/src/sage/structure/element.pyx:2739, in sage.structure.element.RingElement._div_() + 2737 except AttributeError: + 2738 raise bin_op_exception('/', self, other) +-> 2739 return frac(self, other) + 2740 + 2741 def __divmod__(self, other): + +File /ext/sage/9.7/src/sage/structure/parent.pyx:899, in sage.structure.parent.Parent.__call__() + 897 return mor._call_(x) + 898 else: +--> 899 return mor._call_with_args(x, args, kwds) + 900 + 901 raise TypeError(_LazyString("No conversion defined from %s to %s", (R, self), {})) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:173, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args() + 171 else: + 172 if len(kwds) == 0: +--> 173 return C._element_constructor(x, *args) + 174 else: + 175 return C._element_constructor(x, *args, **kwds) + +File /ext/sage/9.7/src/sage/rings/fraction_field.py:648, in FractionField_generic._element_constructor_(self, x, y, coerce) + 646 x, y = x.numerator() * y.denominator(), y.numerator() * x.denominator() + 647 try: +--> 648 return self._element_class(self, x, y, coerce=coerce) + 649 except (TypeError, ValueError): + 650 pass + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:1167, in sage.rings.fraction_field_element.FractionFieldElement_1poly_field.__init__() + 1165 1/2/x + 1166 """ +-> 1167 FractionFieldElement.__init__(self, parent, numerator, denominator, + 1168 coerce, reduce) + 1169 if not reduce: + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:121, in sage.rings.fraction_field_element.FractionFieldElement.__init__() + 119 if reduce and parent.is_exact(): + 120 try: +--> 121 self.reduce() + 122 except ArithmeticError: + 123 pass + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:1239, in sage.rings.fraction_field_element.FractionFieldElement_1poly_field.reduce() + 1237 if self._is_reduced: + 1238 return +-> 1239 super(self.__class__, self).reduce() + 1240 self.normalize_leading_coefficients() + 1241 + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:164, in sage.rings.fraction_field_element.FractionFieldElement.reduce() + 162 return codomain.coerce(nnum/nden) + 163 +--> 164 cpdef reduce(self): + 165 """ + 166 Reduce this fraction. + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:198, in sage.rings.fraction_field_element.FractionFieldElement.reduce() + 196 try: + 197 g = self.__numerator.gcd(self.__denominator) +--> 198 if not g.is_unit(): + 199 self.__numerator //= g + 200 self.__denominator //= g + +File /ext/sage/9.7/src/sage/rings/polynomial/polynomial_element_generic.py:1021, in Polynomial_generic_domain.is_unit(self) + 1019 if self.degree() > 0: + 1020 return False +-> 1021 return self[0].is_unit() + +File src/cysignals/signals.pyx:310, in cysignals.signals.python_check_interrupt() + +KeyboardInterrupt: +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lCsuperelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lsage: C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lBC.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lsage: B = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +[?7h[?12l[?25h[?2004lomega0_lift, omega8_lift [(1/(x^9 + 2*x))*y] d[x] + V(((x^9 + x)/(x^8*y - y)) dx) + dV([(x^9/(x^8 + 2))*y]) [(1/(x^9 + 2*x))*y] d[x] + V(((x^8 + 1)/(x^15*y - x^7*y)) dx) + dV([(1/(x^23 + 2*x^15))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(1/(x^8 + 2))*y] d[x] + V(((-x^20 - x^12 + x^4)/(x^8*y - y)) dx) + dV([(x^12/(x^8 + 2))*y]) [(1/(x^8 + 2))*y] d[x] + V(((x^16 + 1)/(x^20*y - x^12*y)) dx) + dV([(1/(x^20 + 2*x^12))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x/(x^8 + 2))*y] d[x] + V(((x^23 + x^7)/(x^8*y - y)) dx) + dV([(x^15/(x^8 + 2))*y]) [(x/(x^8 + 2))*y] d[x] + V(((x^16 - x^8 - 1)/(x^17*y - x^9*y)) dx) + dV([(1/(x^17 + 2*x^9))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^2/(x^8 + 2))*y] d[x] + V(((x^18 + x^10)/(x^8*y - y)) dx) + dV([(x^18/(x^8 + 2))*y]) [(x^2/(x^8 + 2))*y] d[x] + V(((x^10 + x^2)/(x^8*y - y)) dx) + dV([(1/(x^14 + 2*x^6))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^6/(x^8 + 2))*y] d[x] + V(((-x^38 - x^30 + x^22)/(x^8*y - y)) dx) + dV([(x^30/(x^8 + 2))*y]) [(2/(x^10 + 2*x^2))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^26*y - x^18*y)) dx) + dV([(2/(x^26 + 2*x^18))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(2*x^5/(x^8 + 2))*y] d[x] + V(((-x^27 - x^19)/(x^8*y - y)) dx) + dV([(2*x^27/(x^8 + 2))*y]) 0 +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift 0 [(1/(x^12 + 2*x^4))*y] d[x] + V(((x^8 + 1)/(x^24*y - x^16*y)) dx) + dV([(1/(x^32 + 2*x^24))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^3/(x^8 + 2))*y] d[x] + V(((-x^29 - x^21 + x^13)/(x^8*y - y)) dx) + dV([(x^21/(x^8 + 2))*y]) [(2/(x^13 + 2*x^5))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^35*y - x^27*y)) dx) + dV([(2/(x^35 + 2*x^27))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +(1, 1, 0, 2, 1, 2, 1, 2) +omega_analytic (T^14 + 2*T^4 + T^2 + 1)/T^18 +omega_analytic.expansion_at_infty() t^-18 + t^-16 + 2*t^-14 + t^-4 + O(t^32) +omega_analytic ((x^72 + x^71 - x^70 + x^65 - x^64 - x^62 - x^56 - x^55 - x^49 - x^48 + x^47 - x^46 - x^40 - x^38 - x^32 - x^31 - x^24 + x^23 - x^22 - x^16 - x^14 - x^8 - x^7 + 1)/(x^60*y)) dx +omega8 ((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx +dh ((x^24 + x^22 - x^16 + x^14 - x^8 + 1)/(x^18*y)) dx +omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18 + t^20 + 2*t^22 + t^32 + 2*t^40 + t^48 + O(t^50) +--------------------------------------------------------------------------- +NameError Traceback (most recent call last) +Input In [9], in () +----> 1 B = C.crystalline_cohomology_basis(prec = Integer(100)); autom(B[Integer(4)]).coordinates(basis=B) + +File :103, in coordinates(self, basis) + +File :85, in div_by_p(self) + +File :52, in decomposition_g8_p2th_power(fct) + +NameError: name 'decomposition_g8_pth_power' is not defined +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7lad('init.sage')[?7h[?12l[?25h[?25l[?7lsage: load('init.sage') +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lCsuperelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lsage: C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lsage: B = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +[?7h[?12l[?25h[?2004lomega0_lift, omega8_lift [(1/(x^9 + 2*x))*y] d[x] + V(((x^9 + x)/(x^8*y - y)) dx) + dV([(x^9/(x^8 + 2))*y]) [(1/(x^9 + 2*x))*y] d[x] + V(((x^8 + 1)/(x^15*y - x^7*y)) dx) + dV([(1/(x^23 + 2*x^15))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(1/(x^8 + 2))*y] d[x] + V(((-x^20 - x^12 + x^4)/(x^8*y - y)) dx) + dV([(x^12/(x^8 + 2))*y]) [(1/(x^8 + 2))*y] d[x] + V(((x^16 + 1)/(x^20*y - x^12*y)) dx) + dV([(1/(x^20 + 2*x^12))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x/(x^8 + 2))*y] d[x] + V(((x^23 + x^7)/(x^8*y - y)) dx) + dV([(x^15/(x^8 + 2))*y]) [(x/(x^8 + 2))*y] d[x] + V(((x^16 - x^8 - 1)/(x^17*y - x^9*y)) dx) + dV([(1/(x^17 + 2*x^9))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^2/(x^8 + 2))*y] d[x] + V(((x^18 + x^10)/(x^8*y - y)) dx) + dV([(x^18/(x^8 + 2))*y]) [(x^2/(x^8 + 2))*y] d[x] + V(((x^10 + x^2)/(x^8*y - y)) dx) + dV([(1/(x^14 + 2*x^6))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^6/(x^8 + 2))*y] d[x] + V(((-x^38 - x^30 + x^22)/(x^8*y - y)) dx) + dV([(x^30/(x^8 + 2))*y]) [(2/(x^10 + 2*x^2))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^26*y - x^18*y)) dx) + dV([(2/(x^26 + 2*x^18))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(2*x^5/(x^8 + 2))*y] d[x] + V(((-x^27 - x^19)/(x^8*y - y)) dx) + dV([(2*x^27/(x^8 + 2))*y]) 0 +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift 0 [(1/(x^12 + 2*x^4))*y] d[x] + V(((x^8 + 1)/(x^24*y - x^16*y)) dx) + dV([(1/(x^32 + 2*x^24))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^3/(x^8 + 2))*y] d[x] + V(((-x^29 - x^21 + x^13)/(x^8*y - y)) dx) + dV([(x^21/(x^8 + 2))*y]) [(2/(x^13 + 2*x^5))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^35*y - x^27*y)) dx) + dV([(2/(x^35 + 2*x^27))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +(1, 1, 0, 2, 1, 2, 1, 2) +omega_analytic (T^14 + 2*T^4 + T^2 + 1)/T^18 +omega_analytic.expansion_at_infty() t^-18 + t^-16 + 2*t^-14 + t^-4 + O(t^32) +omega_analytic ((x^72 + x^71 - x^70 + x^65 - x^64 - x^62 - x^56 - x^55 - x^49 - x^48 + x^47 - x^46 - x^40 - x^38 - x^32 - x^31 - x^24 + x^23 - x^22 - x^16 - x^14 - x^8 - x^7 + 1)/(x^60*y)) dx +omega8 ((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx +dh ((x^24 + x^22 - x^16 + x^14 - x^8 + 1)/(x^18*y)) dx +omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18 + t^20 + 2*t^22 + t^32 + 2*t^40 + t^48 + O(t^50) +--------------------------------------------------------------------------- +ArithmeticError Traceback (most recent call last) +Input In [12], in () +----> 1 B = C.crystalline_cohomology_basis(prec = Integer(100)); autom(B[Integer(4)]).coordinates(basis=B) + +File :103, in coordinates(self, basis) + +File :85, in div_by_p(self) + +File :67, in decomposition_g8_p2th_power(fct) + +File :60, in decomposition_g8_pth_power(fct, prec) + +File :14, in __init__(self, C, g) + +File :228, in reduction(C, g) + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/fraction_field.py:638, in FractionField_generic._element_constructor_(self, x, y, coerce) + 636 ring_one = self.ring().one() + 637 try: +--> 638 return self._element_class(self, x, ring_one, coerce=coerce) + 639 except (TypeError, ValueError): + 640 pass + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:114, in sage.rings.fraction_field_element.FractionFieldElement.__init__() + 112 FieldElement.__init__(self, parent) + 113 if coerce: +--> 114 self.__numerator = parent.ring()(numerator) + 115 self.__denominator = parent.ring()(denominator) + 116 else: + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx:1003, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular._element_constructor_() + 1001 + 1002 try: +-> 1003 return self(str(element)) + 1004 except TypeError: + 1005 pass + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx:988, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular._element_constructor_() + 986 try: + 987 if '/' in element: +--> 988 element = sage_eval(element,d) + 989 else: + 990 element = element.replace("^","**") + +File /ext/sage/9.7/src/sage/misc/sage_eval.py:198, in sage_eval(source, locals, cmds, preparse) + 196 return locals['_sage_eval_returnval_'] + 197 else: +--> 198 return eval(source, sage.all.__dict__, locals) + +File :1, in  + +File /ext/sage/9.7/src/sage/rings/big_oh.py:166, in O(*x, **kwds) + 164 elif hasattr(x, 'O'): + 165 return x.O(**kwds) +--> 166 raise ArithmeticError("O(%s) not defined" % (x,)) + +ArithmeticError: O(y^53) not defined +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7lad('init.sage')[?7h[?12l[?25h[?25l[?7lsage: load('init.sage') +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lCsuperelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lsage: C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lsage: B = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +[?7h[?12l[?25h[?2004lomega0_lift, omega8_lift [(1/(x^9 + 2*x))*y] d[x] + V(((x^9 + x)/(x^8*y - y)) dx) + dV([(x^9/(x^8 + 2))*y]) [(1/(x^9 + 2*x))*y] d[x] + V(((x^8 + 1)/(x^15*y - x^7*y)) dx) + dV([(1/(x^23 + 2*x^15))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(1/(x^8 + 2))*y] d[x] + V(((-x^20 - x^12 + x^4)/(x^8*y - y)) dx) + dV([(x^12/(x^8 + 2))*y]) [(1/(x^8 + 2))*y] d[x] + V(((x^16 + 1)/(x^20*y - x^12*y)) dx) + dV([(1/(x^20 + 2*x^12))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x/(x^8 + 2))*y] d[x] + V(((x^23 + x^7)/(x^8*y - y)) dx) + dV([(x^15/(x^8 + 2))*y]) [(x/(x^8 + 2))*y] d[x] + V(((x^16 - x^8 - 1)/(x^17*y - x^9*y)) dx) + dV([(1/(x^17 + 2*x^9))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^2/(x^8 + 2))*y] d[x] + V(((x^18 + x^10)/(x^8*y - y)) dx) + dV([(x^18/(x^8 + 2))*y]) [(x^2/(x^8 + 2))*y] d[x] + V(((x^10 + x^2)/(x^8*y - y)) dx) + dV([(1/(x^14 + 2*x^6))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^6/(x^8 + 2))*y] d[x] + V(((-x^38 - x^30 + x^22)/(x^8*y - y)) dx) + dV([(x^30/(x^8 + 2))*y]) [(2/(x^10 + 2*x^2))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^26*y - x^18*y)) dx) + dV([(2/(x^26 + 2*x^18))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(2*x^5/(x^8 + 2))*y] d[x] + V(((-x^27 - x^19)/(x^8*y - y)) dx) + dV([(2*x^27/(x^8 + 2))*y]) 0 +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift 0 [(1/(x^12 + 2*x^4))*y] d[x] + V(((x^8 + 1)/(x^24*y - x^16*y)) dx) + dV([(1/(x^32 + 2*x^24))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^3/(x^8 + 2))*y] d[x] + V(((-x^29 - x^21 + x^13)/(x^8*y - y)) dx) + dV([(x^21/(x^8 + 2))*y]) [(2/(x^13 + 2*x^5))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^35*y - x^27*y)) dx) + dV([(2/(x^35 + 2*x^27))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +(1, 1, 0, 2, 1, 2, 1, 2) +decomposition_omega8_hpdh ((x^28 - x^26 + x^25 - x^24 + x^23 - x^22 - x^21 + x^20 + x^19 + x^18 + x^17 + x^15 - x^14 + x^13 + x^12 + x^11 - x^10 - x^8 - x^7 + x^6 - x^5 + x^4 + x^2 + x - 1)/(x^16*y - x^15*y + x^14*y - x^13*y + x^12*y - x^11*y + x^10*y - x^9*y - x^8*y + x^7*y - x^6*y + x^5*y - x^4*y + x^3*y - x^2*y + x*y)) dx +omega_analytic (T^14 + 2*T^4 + T^2 + 1)/T^18 +omega_analytic.expansion_at_infty() t^-18 + t^-16 + 2*t^-14 + t^-4 + O(t^32) +omega_analytic ((x^72 + x^71 - x^70 + x^65 - x^64 - x^62 - x^56 - x^55 - x^49 - x^48 + x^47 - x^46 - x^40 - x^38 - x^32 - x^31 - x^24 + x^23 - x^22 - x^16 - x^14 - x^8 - x^7 + 1)/(x^60*y)) dx +omega8 ((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx +dh ((x^24 + x^22 - x^16 + x^14 - x^8 + 1)/(x^18*y)) dx +omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18 + t^20 + 2*t^22 + t^32 + 2*t^40 + t^48 + O(t^50) +decomposition_g8_p2th_power ((2*x^87 + 2*x^84 + x^83 + x^82 + x^81 + x^80 + 2*x^78 + 2*x^77 + x^76 + 2*x^75 + 2*x^74 + x^73 + x^72 + 2*x^71 + 2*x^70 + 2*x^68 + 2*x^67 + x^63 + x^60 + 2*x^59 + 2*x^58 + 2*x^57 + 2*x^56 + x^54 + x^53 + 2*x^52 + x^51 + x^50 + 2*x^49 + 2*x^48 + x^47 + x^46 + x^44 + x^43 + x^42 + 2*x^24 + 1)/(x^93 + x^85 + x^77 + 2*x^69 + 2*x^61 + 2*x^53))*y +decomposition_g8_pth_power ((2*x^87 + 2*x^84 + x^83 + x^82 + x^81 + x^80 + 2*x^78 + 2*x^77 + x^76 + 2*x^75 + 2*x^74 + x^73 + x^72 + 2*x^71 + 2*x^70 + 2*x^68 + 2*x^67 + x^63 + x^60 + 2*x^59 + 2*x^58 + 2*x^57 + 2*x^56 + x^54 + x^53 + 2*x^52 + x^51 + x^50 + 2*x^49 + 2*x^48 + x^47 + x^46 + x^44 + x^43 + x^42 + 2*x^24 + 1)/(x^93 + x^85 + x^77 + 2*x^69 + 2*x^61 + 2*x^53))*y +--------------------------------------------------------------------------- +ArithmeticError Traceback (most recent call last) +Input In [15], in () +----> 1 B = C.crystalline_cohomology_basis(prec = Integer(100)); autom(B[Integer(4)]).coordinates(basis=B) + +File :103, in coordinates(self, basis) + +File :85, in div_by_p(self) + +File :70, in decomposition_g8_p2th_power(fct) + +File :62, in decomposition_g8_pth_power(fct, prec) + +File :14, in __init__(self, C, g) + +File :228, in reduction(C, g) + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/fraction_field.py:638, in FractionField_generic._element_constructor_(self, x, y, coerce) + 636 ring_one = self.ring().one() + 637 try: +--> 638 return self._element_class(self, x, ring_one, coerce=coerce) + 639 except (TypeError, ValueError): + 640 pass + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:114, in sage.rings.fraction_field_element.FractionFieldElement.__init__() + 112 FieldElement.__init__(self, parent) + 113 if coerce: +--> 114 self.__numerator = parent.ring()(numerator) + 115 self.__denominator = parent.ring()(denominator) + 116 else: + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx:1003, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular._element_constructor_() + 1001 + 1002 try: +-> 1003 return self(str(element)) + 1004 except TypeError: + 1005 pass + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx:988, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular._element_constructor_() + 986 try: + 987 if '/' in element: +--> 988 element = sage_eval(element,d) + 989 else: + 990 element = element.replace("^","**") + +File /ext/sage/9.7/src/sage/misc/sage_eval.py:198, in sage_eval(source, locals, cmds, preparse) + 196 return locals['_sage_eval_returnval_'] + 197 else: +--> 198 return eval(source, sage.all.__dict__, locals) + +File :1, in  + +File /ext/sage/9.7/src/sage/rings/big_oh.py:166, in O(*x, **kwds) + 164 elif hasattr(x, 'O'): + 165 return x.O(**kwds) +--> 166 raise ArithmeticError("O(%s) not defined" % (x,)) + +ArithmeticError: O(y^53) not defined +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lfor i in lau.exponents():[?7h[?12l[?25h[?25l[?7lf.pth_root()[?7h[?12l[?25h[?25l[?7lsage: ff = ((2*C.x^74 + C.x^73 + C.x^71 + 2*C.x^70 + 2*C.x^65 + C.x^64 + C.x^62 + 2*C.x^61 + 2*C.x^56 + C.x^55 + C.x^53 + 2*C.x^52 + C.x^50 + 2*C.x^49 + 2*C.x^47 + +....:  C.x^46 + C.x^44 + 2*C.x^43 + 2*C.x^38 + C.x^37 + C.x^32 + 2*C.x^31 + 2*C.x^29 + C.x^28 + C.x^26 + 2*C.x^25 + C.x^23 + 2*C.x^22 + 2*C.x^17 + C.x^16 + C.x^14   +....: + 2*C.x^13 + 2*C.x^8 + C.x^7 + C.x^5 + 2*C.x^4 + 2*C.x^2 + C.x)/(C.x^35 + 2*C.x^34 + 2*C.x^32 + C.x^31 + C.x^27 + 2*C.x^25 + 2*C.x^24 + C.x^22 + C.x^19 + C. x +....: ^16 + C.x^13 + 2*C.x^11 + 2*C.x^10 + C.x^8 + C.x^4 + 2*C.x^3 + 2*C.x + C.one))*C.y[?7h[?12l[?25h[?25l[?7l= [?7h[?12l[?25h[?25l[?7l((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^77 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + + 2*C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C. x +^47 + C.x^46 + C.x^44 + C.x^43 + C.x^42 + 2*C.x^24 + 1)/(C.x^93 + C.x^85 + C.x^77 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y + [?7h[?12l[?25h[?25l[?7lsage: ff = ((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^77 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + +....:  2*C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C. x +....: ^47 + C.x^46 + C.x^44 + C.x^43 + C.x^42 + 2*C.x^24 + 1)/(C.x^93 + C.x^85 + C.x^77 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y +[?7h[?12l[?25h[?2004l--------------------------------------------------------------------------- +AttributeError Traceback (most recent call last) +Input In [16], in () +----> 1 ff = ((Integer(2)*C.x**Integer(87) + Integer(2)*C.x**Integer(84) + C.x**Integer(83) + C.x**Integer(82) + C.x**Integer(81) + C.x**Integer(80) + Integer(2)*C.x**Integer(78) + Integer(2)*C.x**Integer(77) + C.x**Integer(76) + Integer(2)*C.x**Integer(75) + Integer(2)*C.x**Integer(74) + C.x**Integer(73) + C.x**Integer(72) + Integer(2)*C.x**Integer(71) + Integer(2)*C.x**Integer(70) + Integer(2)*C.x**Integer(68) + Integer(2)*C.x**Integer(67) + C.x**Integer(63) + C.x**Integer(60) + Integer(2)*C.x**Integer(59) + Integer(2)*C.x**Integer(58) + Integer(2)*C.x**Integer(57) + Integer(2)*C.x**Integer(56) + C.x**Integer(54) + C.x**Integer(53) + Integer(2)*C.x**Integer(52) + C.x**Integer(51) + C.x**Integer(50) + Integer(2)*C.x**Integer(49) + Integer(2)*C.x**Integer(48) + C.x**Integer(47) + C.x**Integer(46) + C.x**Integer(44) + C.x**Integer(43) + C.x**Integer(42) + Integer(2)*C.x**Integer(24) + Integer(1))/(C.x**Integer(93) + C.x**Integer(85) + C.x**Integer(77) + Integer(2)*C.x**Integer(69) + Integer(2)*C.x**Integer(61) + Integer(2)*C.x**Integer(53)))*C.y + +File :38, in __add__(self, other) + +File /ext/sage/9.7/src/sage/structure/element.pyx:494, in sage.structure.element.Element.__getattr__() + 492 AttributeError: 'LeftZeroSemigroup_with_category.element_class' object has no attribute 'blah_blah' + 493 """ +--> 494 return self.getattr_from_category(name) + 495 + 496 cdef getattr_from_category(self, name): + +File /ext/sage/9.7/src/sage/structure/element.pyx:507, in sage.structure.element.Element.getattr_from_category() + 505 else: + 506 cls = P._abstract_element_class +--> 507 return getattr_from_other_class(self, cls, name) + 508 + 509 def __dir__(self): + +File /ext/sage/9.7/src/sage/cpython/getattr.pyx:361, in sage.cpython.getattr.getattr_from_other_class() + 359 dummy_error_message.cls = type(self) + 360 dummy_error_message.name = name +--> 361 raise AttributeError(dummy_error_message) + 362 attribute = attr + 363 # Check for a descriptor (__get__ in Python) + +AttributeError: 'sage.rings.integer.Integer' object has no attribute 'function' +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lsage: ((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^77 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + 2*C . +....: x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C.x^47 + +....:  C.x^46 + C.x^44 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^77 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l( + +)[?7h[?12l[?25h[?25l[?7l( + +)[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l( + +)[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lf((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^7 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + 2* C +.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C.x^47  ++ C.x^46 + C.x^4 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^7 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7lf((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^7 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + 2 * +C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C.x^4 7 + + C.x^46 + C.x^4 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^7 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7l ((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^7 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + 2 +*C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C.x^ 4 +7 + C.x^46 + C.x^4 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^7 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7l=((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^7 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 +  +2*C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C.x ^ +47 + C.x^46 + C.x^4 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^7 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7l ((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^7 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + + 2*C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C. x +^47 + C.x^46 + C.x^4 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^7 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7lsage: ff = ((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^77 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + +....:  2*C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C. x +....: ^47 + C.x^46 + C.x^44 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^77 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7ldecomposition_omega8_hpdh(om)[?7h[?12l[?25h[?25l[?7le[?7h[?12l[?25h[?25l[?7lc[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7lmposition_omega8_hpdh(om)[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lsage: decomposition_ + decomposition_g0_g8 decomposition_g8_p2th_power decomposition_omega0_omega8 + decomposition_g0_p2th_power decomposition_g8_pth_power decomposition_omega8_hpdh  + decomposition_g0_pth_power decomposition_omega0_hpdh  + + [?7h[?12l[?25h[?25l[?7lg0_g8 + decomposition_g0_g8  + + + [?7h[?12l[?25h[?25l[?7l8p2th_power + decomposition_g0_g8  decomposition_g8_p2th_power[?7h[?12l[?25h[?25l[?7lth_power + decomposition_g8_p2th_power + decomposition_g8_pth_power [?7h[?12l[?25h[?25l[?7l( + + + +[?7h[?12l[?25h[?25l[?7lf[?7h[?12l[?25h[?25l[?7lf[?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7lsage: decomposition_g8_pth_power(ff) +[?7h[?12l[?25h[?2004ldecomposition_g8_pth_power ((2*x^87 + 2*x^84 + x^83 + x^82 + x^81 + x^80 + 2*x^78 + 2*x^77 + x^76 + 2*x^75 + 2*x^74 + x^73 + x^72 + 2*x^71 + 2*x^70 + 2*x^68 + 2*x^67 + x^63 + x^60 + 2*x^59 + 2*x^58 + 2*x^57 + 2*x^56 + x^54 + x^53 + 2*x^52 + x^51 + x^50 + 2*x^49 + 2*x^48 + x^47 + x^46 + x^44 + x^43 + x^42 + 2*x^24 + 1)/(x^93 + x^85 + x^77 + 2*x^69 + 2*x^61 + 2*x^53))*y +--------------------------------------------------------------------------- +ArithmeticError Traceback (most recent call last) +Input In [18], in () +----> 1 decomposition_g8_pth_power(ff) + +File :62, in decomposition_g8_pth_power(fct, prec) + +File :14, in __init__(self, C, g) + +File :228, in reduction(C, g) + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/fraction_field.py:638, in FractionField_generic._element_constructor_(self, x, y, coerce) + 636 ring_one = self.ring().one() + 637 try: +--> 638 return self._element_class(self, x, ring_one, coerce=coerce) + 639 except (TypeError, ValueError): + 640 pass + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:114, in sage.rings.fraction_field_element.FractionFieldElement.__init__() + 112 FieldElement.__init__(self, parent) + 113 if coerce: +--> 114 self.__numerator = parent.ring()(numerator) + 115 self.__denominator = parent.ring()(denominator) + 116 else: + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx:1003, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular._element_constructor_() + 1001 + 1002 try: +-> 1003 return self(str(element)) + 1004 except TypeError: + 1005 pass + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx:988, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular._element_constructor_() + 986 try: + 987 if '/' in element: +--> 988 element = sage_eval(element,d) + 989 else: + 990 element = element.replace("^","**") + +File /ext/sage/9.7/src/sage/misc/sage_eval.py:198, in sage_eval(source, locals, cmds, preparse) + 196 return locals['_sage_eval_returnval_'] + 197 else: +--> 198 return eval(source, sage.all.__dict__, locals) + +File :1, in  + +File /ext/sage/9.7/src/sage/rings/big_oh.py:166, in O(*x, **kwds) + 164 elif hasattr(x, 'O'): + 165 return x.O(**kwds) +--> 166 raise ArithmeticError("O(%s) not defined" % (x,)) + +ArithmeticError: O(y^53) not defined +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7ldecomposition_g8_pth_power(ff)[?7h[?12l[?25h[?25l[?7l)[?7h[?12l[?25h[?25l[?7l,)[?7h[?12l[?25h[?25l[?7l )[?7h[?12l[?25h[?25l[?7lp)[?7h[?12l[?25h[?25l[?7lr)[?7h[?12l[?25h[?25l[?7le)[?7h[?12l[?25h[?25l[?7lc)[?7h[?12l[?25h[?25l[?7l )[?7h[?12l[?25h[?25l[?7l=)[?7h[?12l[?25h[?25l[?7l )[?7h[?12l[?25h[?25l[?7l2)[?7h[?12l[?25h[?25l[?7l0)[?7h[?12l[?25h[?25l[?7l0)[?7h[?12l[?25h[?25l[?7l)[?7h[?12l[?25h[?25l[?7lsage: decomposition_g8_pth_power(ff, prec = 200) +[?7h[?12l[?25h[?2004ldecomposition_g8_pth_power ((2*x^87 + 2*x^84 + x^83 + x^82 + x^81 + x^80 + 2*x^78 + 2*x^77 + x^76 + 2*x^75 + 2*x^74 + x^73 + x^72 + 2*x^71 + 2*x^70 + 2*x^68 + 2*x^67 + x^63 + x^60 + 2*x^59 + 2*x^58 + 2*x^57 + 2*x^56 + x^54 + x^53 + 2*x^52 + x^51 + x^50 + 2*x^49 + 2*x^48 + x^47 + x^46 + x^44 + x^43 + x^42 + 2*x^24 + 1)/(x^93 + x^85 + x^77 + 2*x^69 + 2*x^61 + 2*x^53))*y +--------------------------------------------------------------------------- +ArithmeticError Traceback (most recent call last) +Input In [19], in () +----> 1 decomposition_g8_pth_power(ff, prec = Integer(200)) + +File :62, in decomposition_g8_pth_power(fct, prec) + +File :14, in __init__(self, C, g) + +File :228, in reduction(C, g) + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/fraction_field.py:638, in FractionField_generic._element_constructor_(self, x, y, coerce) + 636 ring_one = self.ring().one() + 637 try: +--> 638 return self._element_class(self, x, ring_one, coerce=coerce) + 639 except (TypeError, ValueError): + 640 pass + +File /ext/sage/9.7/src/sage/rings/fraction_field_element.pyx:114, in sage.rings.fraction_field_element.FractionFieldElement.__init__() + 112 FieldElement.__init__(self, parent) + 113 if coerce: +--> 114 self.__numerator = parent.ring()(numerator) + 115 self.__denominator = parent.ring()(denominator) + 116 else: + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx:1003, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular._element_constructor_() + 1001 + 1002 try: +-> 1003 return self(str(element)) + 1004 except TypeError: + 1005 pass + +File /ext/sage/9.7/src/sage/structure/parent.pyx:897, in sage.structure.parent.Parent.__call__() + 895 if mor is not None: + 896 if no_extra_args: +--> 897 return mor._call_(x) + 898 else: + 899 return mor._call_with_args(x, args, kwds) + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:161, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 159 print(type(C), C) + 160 print(type(C._element_constructor), C._element_constructor) +--> 161 raise + 162 + 163 cpdef Element _call_with_args(self, x, args=(), kwds={}): + +File /ext/sage/9.7/src/sage/structure/coerce_maps.pyx:156, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_() + 154 cdef Parent C = self._codomain + 155 try: +--> 156 return C._element_constructor(x) + 157 except Exception: + 158 if print_warnings: + +File /ext/sage/9.7/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx:988, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular._element_constructor_() + 986 try: + 987 if '/' in element: +--> 988 element = sage_eval(element,d) + 989 else: + 990 element = element.replace("^","**") + +File /ext/sage/9.7/src/sage/misc/sage_eval.py:198, in sage_eval(source, locals, cmds, preparse) + 196 return locals['_sage_eval_returnval_'] + 197 else: +--> 198 return eval(source, sage.all.__dict__, locals) + +File :1, in  + +File /ext/sage/9.7/src/sage/rings/big_oh.py:166, in O(*x, **kwds) + 164 elif hasattr(x, 'O'): + 165 return x.O(**kwds) +--> 166 raise ArithmeticError("O(%s) not defined" % (x,)) + +ArithmeticError: O(y^203) not defined +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lsage: ff = ((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^77 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + +....:  2*C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C. x +....: ^47 + C.x^46 + C.x^44 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^77 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7lf[?7h[?12l[?25h[?25l[?7l.pth_root() +  + [?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ln[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ll[?7h[?12l[?25h[?25l[?7ly[?7h[?12l[?25h[?25l[?7lt[?7h[?12l[?25h[?25l[?7li[?7h[?12l[?25h[?25l[?7lc[?7h[?12l[?25h[?25l[?7l_[?7h[?12l[?25h[?25l[?7lp[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7lt[?7h[?12l[?25h[?25l[?7lr[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lr[?7h[?12l[?25h[?25l[?7lt[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7le[?7h[?12l[?25h[?25l[?7lx[?7h[?12l[?25h[?25l[?7lp[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ln[?7h[?12l[?25h[?25l[?7ls[?7h[?12l[?25h[?25l[?7li[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7ln[?7h[?12l[?25h[?25l[?7l_[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7lt[?7h[?12l[?25h[?25l[?7l_[?7h[?12l[?25h[?25l[?7li[?7h[?12l[?25h[?25l[?7ln[?7h[?12l[?25h[?25l[?7lf[?7h[?12l[?25h[?25l[?7lt[?7h[?12l[?25h[?25l[?7ly[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7lsage: ff.expansion_at_infty() +[?7h[?12l[?25h[?2004l[?7h2*t^3 + 2*t^9 + t^11 + t^13 + t^15 + t^17 + 2*t^21 + O(t^23) +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lff.expansion_at_infty()[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7llf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7laf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7luf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lrf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lef.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lnf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7ltf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7l_f.expansion_at_infty()[?7h[?12l[?25h[?25l[?7laf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lnf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7laf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7llf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lyf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7ltf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lif.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lcf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7l_f.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lpf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7laf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lrf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7ltf.expansion_at_infty()[?7h[?12l[?25h[?25l[?7l(f.expansion_at_infty()[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l(())[?7h[?12l[?25h[?25l[?7lsage: laurent_analytic_part(ff.expansion_at_infty()) +[?7h[?12l[?25h[?2004l[?7h0 +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7llaurent_analytic_part(ff.expansion_at_infty())[?7h[?12l[?25h[?25l[?7lsage: laurent_analytic_part(ff.expansion_at_infty()) +[?7h[?12l[?25h[?2004l[?7h0 +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7llaurent_analytic_part(ff.expansion_at_infty())[?7h[?12l[?25h[?25l[?7load('init.sage')[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ld[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l'[?7h[?12l[?25h[?25l[?7lsuperelliptic_drw/tests/auxilliary_decompositions_test.sage')[?7h[?12l[?25h[?25l[?7l(uperelliptic_drw/tests/auxilliary_decompositions_test.sage')[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7ls[?7h[?12l[?25h[?25l[?7lu[?7h[?12l[?25h[?25l[?7lp[?7h[?12l[?25h[?25l[?7le[?7h[?12l[?25h[?25l[?7lr[?7h[?12l[?25h[?25l[?7lsage: load('superelliptic_drw/superelliptic_ + sup…perelliptic_drw_auxilliaries.sage sup…perelliptic_drw_form.sage  + sup…perelliptic_drw_cech.sage sup…perelliptic_witt.sage  + + + [?7h[?12l[?25h[?25l[?7ldrw_auxilliaries.sage + sup…perelliptic_drw_auxilliaries.sage + + [?7h[?12l[?25h[?25l[?7l' + + +[?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7lsage: load('superelliptic_drw/superelliptic_drw_auxilliaries.sage') +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lsage:  + + + + [?7h[?12l[?25h[?25l[?7lload('superelliptic_drw/superelliptic_drw_auxilliaries.sage')[?7h[?12l[?25h[?25l[?7laurent_analytic_part(ff.expansion_at_infty())[?7h[?12l[?25h[?25l[?7lff.expansion_at_infty)[?7h[?12l[?25h[?25l[?7ldecomosition_g8_pth_power(ff, prec = 200)[?7h[?12l[?25h[?25l[?7l)[?7h[?12l[?25h[?25l[?7l, prec = 200)[?7h[?12l[?25h[?25l[?7l)[?7h[?12l[?25h[?25l[?7lsage: decomposition_g8_pth_power(ff) +[?7h[?12l[?25h[?2004ldecomposition_g8_pth_power ((2*x^87 + 2*x^84 + x^83 + x^82 + x^81 + x^80 + 2*x^78 + 2*x^77 + x^76 + 2*x^75 + 2*x^74 + x^73 + x^72 + 2*x^71 + 2*x^70 + 2*x^68 + 2*x^67 + x^63 + x^60 + 2*x^59 + 2*x^58 + 2*x^57 + 2*x^56 + x^54 + x^53 + 2*x^52 + x^51 + x^50 + 2*x^49 + 2*x^48 + x^47 + x^46 + x^44 + x^43 + x^42 + 2*x^24 + 1)/(x^93 + x^85 + x^77 + 2*x^69 + 2*x^61 + 2*x^53))*y +[?7h(((2*x^87 + 2*x^84 + x^83 + x^82 + x^81 + x^80 + 2*x^78 + 2*x^77 + x^76 + 2*x^75 + 2*x^74 + x^73 + x^72 + 2*x^71 + 2*x^70 + 2*x^68 + 2*x^67 + x^63 + x^60 + 2*x^59 + 2*x^58 + 2*x^57 + 2*x^56 + x^54 + x^53 + 2*x^52 + x^51 + x^50 + 2*x^49 + 2*x^48 + x^47 + x^46 + x^44 + x^43 + x^42 + 2*x^24 + 1)/(x^93 + x^85 + x^77 + 2*x^69 + 2*x^61 + 2*x^53))*y, + 0) +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7l = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lsage: C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7ldecomposition_g8_pth_power(ff)[?7h[?12l[?25h[?25l[?7lload('superelliptic_drw/superelliptic_drw_auxilliaries.sage')[?7h[?12l[?25h[?25l[?7laurent_analytic_part(ff.expansion_at_infty())[?7h[?12l[?25h[?25l[?7lff.expansion_at_infty)[?7h[?12l[?25h[?25l[?7ldecomosition_g8_pth_power(ff, prec = 200)[?7h[?12l[?25h[?25l[?7l)[?7h[?12l[?25h[?25l[?7lsage: ff = ((2*C.x^87 + 2*C.x^84 + C.x^83 + C.x^82 + C.x^81 + C.x^80 + 2*C.x^78 + 2*C.x^77 + C.x^76 + 2*C.x^75 + 2*C.x^74 + C.x^73 + C.x^72 + 2*C.x^71 + 2*C.x^70 + +....:  2*C.x^68 + 2*C.x^67 + C.x^63 + C.x^60 + 2*C.x^59 + 2*C.x^58 + 2*C.x^57 + 2*C.x^56 + C.x^54 + C.x^53 + 2*C.x^52 + C.x^51 + C.x^50 + 2*C.x^49 + 2*C.x^48 + C. x +....: ^47 + C.x^46 + C.x^44 + C.x^43 + C.x^42 + 2*C.x^24 + C.one)/(C.x^93 + C.x^85 + C.x^77 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7l1)/(C.x^93 + C.x^85 + C.x^77 + 2*C.x^69 + 2*C.x^61 + 2*C.x^53))*C.y[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +  + [?7h[?12l[?25h[?25l[?7lload('init.sage')[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lBC.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lsage: B = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +[?7h[?12l[?25h[?2004lomega0_lift, omega8_lift [(1/(x^9 + 2*x))*y] d[x] + V(((x^9 + x)/(x^8*y - y)) dx) + dV([(x^9/(x^8 + 2))*y]) [(1/(x^9 + 2*x))*y] d[x] + V(((x^8 + 1)/(x^15*y - x^7*y)) dx) + dV([(1/(x^23 + 2*x^15))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(1/(x^8 + 2))*y] d[x] + V(((-x^20 - x^12 + x^4)/(x^8*y - y)) dx) + dV([(x^12/(x^8 + 2))*y]) [(1/(x^8 + 2))*y] d[x] + V(((x^16 + 1)/(x^20*y - x^12*y)) dx) + dV([(1/(x^20 + 2*x^12))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x/(x^8 + 2))*y] d[x] + V(((x^23 + x^7)/(x^8*y - y)) dx) + dV([(x^15/(x^8 + 2))*y]) [(x/(x^8 + 2))*y] d[x] + V(((x^16 - x^8 - 1)/(x^17*y - x^9*y)) dx) + dV([(1/(x^17 + 2*x^9))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^2/(x^8 + 2))*y] d[x] + V(((x^18 + x^10)/(x^8*y - y)) dx) + dV([(x^18/(x^8 + 2))*y]) [(x^2/(x^8 + 2))*y] d[x] + V(((x^10 + x^2)/(x^8*y - y)) dx) + dV([(1/(x^14 + 2*x^6))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^6/(x^8 + 2))*y] d[x] + V(((-x^38 - x^30 + x^22)/(x^8*y - y)) dx) + dV([(x^30/(x^8 + 2))*y]) [(2/(x^10 + 2*x^2))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^26*y - x^18*y)) dx) + dV([(2/(x^26 + 2*x^18))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(2*x^5/(x^8 + 2))*y] d[x] + V(((-x^27 - x^19)/(x^8*y - y)) dx) + dV([(2*x^27/(x^8 + 2))*y]) 0 +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift 0 [(1/(x^12 + 2*x^4))*y] d[x] + V(((x^8 + 1)/(x^24*y - x^16*y)) dx) + dV([(1/(x^32 + 2*x^24))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^3/(x^8 + 2))*y] d[x] + V(((-x^29 - x^21 + x^13)/(x^8*y - y)) dx) + dV([(x^21/(x^8 + 2))*y]) [(2/(x^13 + 2*x^5))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^35*y - x^27*y)) dx) + dV([(2/(x^35 + 2*x^27))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +(1, 1, 0, 2, 1, 2, 1, 2) +decomposition_omega8_hpdh ((x^28 - x^26 + x^25 - x^24 + x^23 - x^22 - x^21 + x^20 + x^19 + x^18 + x^17 + x^15 - x^14 + x^13 + x^12 + x^11 - x^10 - x^8 - x^7 + x^6 - x^5 + x^4 + x^2 + x - 1)/(x^16*y - x^15*y + x^14*y - x^13*y + x^12*y - x^11*y + x^10*y - x^9*y - x^8*y + x^7*y - x^6*y + x^5*y - x^4*y + x^3*y - x^2*y + x*y)) dx +--------------------------------------------------------------------------- +NameError Traceback (most recent call last) +Input In [26], in () +----> 1 B = C.crystalline_cohomology_basis(prec = Integer(100)); autom(B[Integer(4)]).coordinates(basis=B) + +File :103, in coordinates(self, basis) + +File :83, in div_by_p(self) + +File :33, in decomposition_omega8_hpdh(omega, prec) + +NameError: name 'T' is not defined +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('superelliptic_drw/superelliptic_drw_auxilliaries.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7lad('superelliptic_drw/superelliptic_drw_auxilliaries.sage')[?7h[?12l[?25h[?25l[?7lsage: load('superelliptic_drw/superelliptic_drw_auxilliaries.sage') +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lload('superelliptic_drw/superelliptic_drw_auxilliaries.sage')[?7h[?12l[?25h[?25l[?7lo[?7h[?12l[?25h[?25l[?7la[?7h[?12l[?25h[?25l[?7ld[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l'[?7h[?12l[?25h[?25l[?7linit.sage')[?7h[?12l[?25h[?25l[?7ln[?7h[?12l[?25h[?25l[?7l(it.sage')[?7h[?12l[?25h[?25l[?7lsage: load('init.sage') +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7l = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7lsage: C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +[?7h[?12l[?25h[?2004l[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lB = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7l = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B)[?7h[?12l[?25h[?25l[?7lsage: B = C.crystalline_cohomology_basis(prec = 100); autom(B[4]).coordinates(basis=B) +[?7h[?12l[?25h[?2004lomega0_lift, omega8_lift [(1/(x^9 + 2*x))*y] d[x] + V(((x^9 + x)/(x^8*y - y)) dx) + dV([(x^9/(x^8 + 2))*y]) [(1/(x^9 + 2*x))*y] d[x] + V(((x^8 + 1)/(x^15*y - x^7*y)) dx) + dV([(1/(x^23 + 2*x^15))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(1/(x^8 + 2))*y] d[x] + V(((-x^20 - x^12 + x^4)/(x^8*y - y)) dx) + dV([(x^12/(x^8 + 2))*y]) [(1/(x^8 + 2))*y] d[x] + V(((x^16 + 1)/(x^20*y - x^12*y)) dx) + dV([(1/(x^20 + 2*x^12))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x/(x^8 + 2))*y] d[x] + V(((x^23 + x^7)/(x^8*y - y)) dx) + dV([(x^15/(x^8 + 2))*y]) [(x/(x^8 + 2))*y] d[x] + V(((x^16 - x^8 - 1)/(x^17*y - x^9*y)) dx) + dV([(1/(x^17 + 2*x^9))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^2/(x^8 + 2))*y] d[x] + V(((x^18 + x^10)/(x^8*y - y)) dx) + dV([(x^18/(x^8 + 2))*y]) [(x^2/(x^8 + 2))*y] d[x] + V(((x^10 + x^2)/(x^8*y - y)) dx) + dV([(1/(x^14 + 2*x^6))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^6/(x^8 + 2))*y] d[x] + V(((-x^38 - x^30 + x^22)/(x^8*y - y)) dx) + dV([(x^30/(x^8 + 2))*y]) [(2/(x^10 + 2*x^2))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^26*y - x^18*y)) dx) + dV([(2/(x^26 + 2*x^18))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(2*x^5/(x^8 + 2))*y] d[x] + V(((-x^27 - x^19)/(x^8*y - y)) dx) + dV([(2*x^27/(x^8 + 2))*y]) 0 +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift 0 [(1/(x^12 + 2*x^4))*y] d[x] + V(((x^8 + 1)/(x^24*y - x^16*y)) dx) + dV([(1/(x^32 + 2*x^24))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +omega0_lift, omega8_lift [(x^3/(x^8 + 2))*y] d[x] + V(((-x^29 - x^21 + x^13)/(x^8*y - y)) dx) + dV([(x^21/(x^8 + 2))*y]) [(2/(x^13 + 2*x^5))*y] d[x] + V(((-x^16 + x^8 + 1)/(x^35*y - x^27*y)) dx) + dV([(2/(x^35 + 2*x^27))*y]) +result.omega8 == compare True +result.omega8 - compare 0 +(1, 1, 0, 2, 1, 2, 1, 2) +decomposition_omega8_hpdh ((x^28 - x^26 + x^25 - x^24 + x^23 - x^22 - x^21 + x^20 + x^19 + x^18 + x^17 + x^15 - x^14 + x^13 + x^12 + x^11 - x^10 - x^8 - x^7 + x^6 - x^5 + x^4 + x^2 + x - 1)/(x^16*y - x^15*y + x^14*y - x^13*y + x^12*y - x^11*y + x^10*y - x^9*y - x^8*y + x^7*y - x^6*y + x^5*y - x^4*y + x^3*y - x^2*y + x*y)) dx +omega_analytic t^-18 + t^-16 + 2*t^-14 + t^-4 +omega_analytic.expansion_at_infty() t^-18 + t^-16 + 2*t^-14 + t^-4 + O(t^32) +omega_analytic ((x^72 + x^71 - x^70 + x^65 - x^64 - x^62 - x^56 - x^55 - x^49 - x^48 + x^47 - x^46 - x^40 - x^38 - x^32 - x^31 - x^24 + x^23 - x^22 - x^16 - x^14 - x^8 - x^7 + 1)/(x^60*y)) dx +omega8 ((x^78 - x^76 - x^75 - x^74 + x^73 + x^72 - x^71 - x^69 - x^67 - x^66 + x^65 - x^64 + x^63 - x^60 + x^59 + x^58 - x^57 - x^56 + x^55 - x^54 + x^48 - x^47 + x^46 + x^45 - x^44 + x^43 - x^42 + x^41 - x^40 + x^39 - x^38 - x^29 + x^28 - x^27 + x^26 - x^25 + x^24 - x^23 + x^22 + x^21 - x^20 + x^19 - x^18 + x^17 - x^16 - x^15 - x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 - x^6 + x^5 - x^4 + x^3 - x^2 + x - 1)/(x^75*y - x^74*y + x^73*y - x^72*y + x^71*y - x^70*y + x^69*y - x^68*y - x^67*y + x^66*y - x^65*y + x^64*y - x^63*y + x^62*y - x^61*y + x^60*y)) dx +dh ((x^24 + x^22 - x^16 + x^14 - x^8 + 1)/(x^18*y)) dx +omega8.expansion_at_infty() 1 + t^2 + 2*t^4 + t^6 + t^8 + 2*t^12 + 2*t^16 + t^18 + t^20 + 2*t^22 + t^32 + 2*t^40 + t^48 + O(t^50) +decomposition_g8_p2th_power ((2*x^87 + 2*x^84 + x^83 + x^82 + x^81 + x^80 + 2*x^78 + 2*x^77 + x^76 + 2*x^75 + 2*x^74 + x^73 + x^72 + 2*x^71 + 2*x^70 + 2*x^68 + 2*x^67 + x^63 + x^60 + 2*x^59 + 2*x^58 + 2*x^57 + 2*x^56 + x^54 + x^53 + 2*x^52 + x^51 + x^50 + 2*x^49 + 2*x^48 + x^47 + x^46 + x^44 + x^43 + x^42 + 2*x^24 + 1)/(x^93 + x^85 + x^77 + 2*x^69 + 2*x^61 + 2*x^53))*y +decomposition_g8_pth_power ((2*x^87 + 2*x^84 + x^83 + x^82 + x^81 + x^80 + 2*x^78 + 2*x^77 + x^76 + 2*x^75 + 2*x^74 + x^73 + x^72 + 2*x^71 + 2*x^70 + 2*x^68 + 2*x^67 + x^63 + x^60 + 2*x^59 + 2*x^58 + 2*x^57 + 2*x^56 + x^54 + x^53 + 2*x^52 + x^51 + x^50 + 2*x^49 + 2*x^48 + x^47 + x^46 + x^44 + x^43 + x^42 + 2*x^24 + 1)/(x^93 + x^85 + x^77 + 2*x^69 + 2*x^61 + 2*x^53))*y +decomposition_g8_pth_power 0 +aux.omega0.omega.cartier() - aux.f.f.pth_root().diffn() == aux.omega8.omega.cartier() True +[?7h[4, 1, 3, 2, 1, 8, 1, 2] +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7l.uniformizer().diffn().epansion_at_infty(prec = 220)[?7h[?12l[?25h[?25l[?7lsage: C.uniformizer().diffn().expansion_at_infty(prec = 220) + C.a_number C.cartier_matrix C.de_rham_basis  + C.base_ring C.characteristic C.degrees_de_rham0  + C.basis_de_rham_degrees C.cohomology_of_structure_sheaf_basis C.degrees_de_rham1 > + C.basis_holomorphic_differentials_degree C.crystalline_cohomology_basis C.degrees_holomorphic_differentials  + [?7h[?12l[?25h[?25l[?7la_number + C.a_number  + + + + [?7h[?12l[?25h[?25l[?7lcartier_matrix + C.a_number  C.cartier_matrix [?7h[?12l[?25h[?25l[?7lde_rhambsis + C.cartier_matrix  C.de_rham_basis [?7h[?12l[?25h[?25l[?7lrfrobenius_matrix + cartier_matrixde_rhambsis rfrobenius_matrix + characteristicdegees_de_rham0x  +<cohomology_ofstructure_sheaf_basisdegrees_derham1 y_w  + crystalline_coomology_basis degrees_holomrphic_differentialsexponnt [?7h[?12l[?25h[?25l[?7lfct_field +de_rhambsis rfrobenius_matrixfct_field  +degees_de_rham0x final_type +degrees_derham1 y_w frobenius_matrix +degrees_holomrphic_differentialsexponnt genus [?7h[?12l[?25h[?25l[?7lholomorphic_differentials_basis +rfrobenius_matrixfct_field holomorphic_differentials_basis +x final_typeis_smooth  +y_w frobenius_matrixnb_of_ptat_infty +exponnt genus one [?7h[?12l[?25h[?25l[?7lp_rank +fct_field holomorphic_differentials_basisp_rank  +final_typeis_smooth polynmial +frobenius_matrixnb_of_ptat_inftyuniformizer  +genus one verschiebung_matrix[?7h[?12l[?25h[?25l[?7lx +holomorphic_differentials_basisp_rank x   +is_smooth polynmialy   +nb_of_ptat_inftyuniformizer    +one verschiebung_matrix  [?7h[?12l[?25h[?25l[?7lp_rank + C.p_rank  C.x [?7h[?12l[?25h[?25l[?7lholomorphic_differentials_basis + C.holomorphic_differentials_basis  C.p_rank [?7h[?12l[?25h[?25l[?7lfct_field +fct_field holomorphic_differentials_basisp_rank  +final_typeis_smoth polynomial  +frobeniumatrix nb_of_pts_at_infty C.uniformizer > +genusone  C.verschiebung_matrix  [?7h[?12l[?25h[?25l[?7ldr_frobenius_matrix +dr_frobenius_matrixfct_field holomorphic_differentials_basis +dx final_typeis_smoth  +dy_w frobeniumatrix nb_of_pts_at_infty +exponentgenusone [?7h[?12l[?25h[?25l[?7lerham_basis +erham_basis dr_frobenius_matrixfct_field  +egrees_de_rham0dx final_type +egrees_de_rham1dy_w frobeniumatrix  +degres_holomorphic_differentialsexponentgenus[?7h[?12l[?25h[?25l[?7lcartiermtrix +cartiermtrixerham_basis dr_frobenius_matrix +chaacteristic egrees_de_rham0dx  +cohomologyof_structure_sheaf_basisegrees_de_rham1dy_w  +crystalline_chomology_basis degres_holomorphic_differentialsexponent[?7h[?12l[?25h[?25l[?7la_number + a_number cartiermtrixerham_basis  + base_ring chaacteristic egrees_de_rham0 + basis_de_rhamdegrees cohomologyof_structure_sheaf_basisegrees_de_rham1 + basis_holomorpic_differentials_degreecrystalline_chomology_basis degres_holomorphic_differentials[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lbase_ring + C.a_number  + C.base_ring [?7h[?12l[?25h[?25l[?7lis_de_rham_degrees + + C.base_ring  + C.basis_de_rham_degrees [?7h[?12l[?25h[?25l[?7lholomorphic_differentials_degree + + + C.basis_de_rham_degrees  + C.basis_holomorphic_differentials_degree[?7h[?12l[?25h[?25l[?7lcrtier_matrix + C.cartier_matrix  + + + C.basis_holomorphic_differentials_degree[?7h[?12l[?25h[?25l[?7lharacteristc + C.cartier_matrix  + C.characteristic [?7h[?12l[?25h[?25l[?7lartier_matrx + C.cartier_matrix  + C.characteristic [?7h[?12l[?25h[?25l[?7la_number + C.a_number  C.cartier_matrix [?7h[?12l[?25h[?25l[?7l + + + + +[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lC = superelliptic((x^3 - x)^3 + x^3 - x, 2)[?7h[?12l[?25h[?25l[?7l.uniformizer().diffn().epansion_at_infty(prec = 220)[?7h[?12l[?25h[?25l[?7lg[?7h[?12l[?25h[?25l[?7le[?7h[?12l[?25h[?25l[?7ln[?7h[?12l[?25h[?25l[?7lu[?7h[?12l[?25h[?25l[?7ls[?7h[?12l[?25h[?25l[?7l([?7h[?12l[?25h[?25l[?7l()[?7h[?12l[?25h[?25l[?7lsage: C.genus() +[?7h[?12l[?25h[?2004l[?7h4 +[?2004h[?25l[?7lsage: [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lsage:  + + + [?7h[?12l[?25h[?25l[?7lff.expansion_at_infty()[?7h[?12l[?25h[?25l[?7lor i i lau.expoents():[?7h[?12l[?25h[?25l[?7lfor[?7h[?12l[?25h[?25l[?7l [?7h[?12l[?25h[?25l[?7l[?7h[?12l[?25h[?25l[?7lfo[?7h[?12l[?25h \ No newline at end of file diff --git a/sage/auxilliaries/laurent_analytic_part.sage b/sage/auxilliaries/laurent_analytic_part.sage new file mode 100644 index 0000000..aeea0ff --- /dev/null +++ b/sage/auxilliaries/laurent_analytic_part.sage @@ -0,0 +1,16 @@ +def laurent_analytic_part(series): + F = base_ring(parent(series)) + Ft. = LaurentSeriesRing(F) + result = Ft(0) + for i in series.exponents(): + if i<0: + result += series[i]*t^i + return result + +def laurent_integral(series): + F = base_ring(parent(series)) + Ft. = LaurentSeriesRing(F) + result = Ft(0) + for i in series.exponents(): + result += series[i]*(t^i).integral() + return result \ No newline at end of file diff --git a/sage/superelliptic/superelliptic_class.sage b/sage/superelliptic/superelliptic_class.sage index 7b3fd1d..60ce5cb 100644 --- a/sage/superelliptic/superelliptic_class.sage +++ b/sage/superelliptic/superelliptic_class.sage @@ -216,7 +216,7 @@ class superelliptic: def reduction(C, g): '''Auxilliary. Given a superelliptic curve C : y^m = f(x) and a polynomial g(x, y) it replaces repeteadly all y^m's in g(x, y) by f(x). As a result - you obtain \sum_{i = 0}^{m-1} y^i g_i(x).''' + you obtain sum_{i = 0}^{m-1} y^i g_i(x).''' p = C.characteristic F = C.base_ring Rxy. = PolynomialRing(F, 2) diff --git a/sage/superelliptic/tests/expansion_at_infty.sage b/sage/superelliptic/tests/expansion_at_infty.sage new file mode 100644 index 0000000..e55df39 --- /dev/null +++ b/sage/superelliptic/tests/expansion_at_infty.sage @@ -0,0 +1,14 @@ +p = 3 +F = GF(3) +Rx. = PolynomialRing(F) +f = x^3 - x +m = 2 +C = superelliptic(f, m) +xx = C.x.expansion_at_infty(prec = 200) +yy = C.y.expansion_at_infty(prec = 200) +r = f.degree() +delta = GCD(m, r) +R = r/delta +M = m/delta +print(yy^2 == f(x = xx)) +print(xx.valuation() == -M, yy.valuation() == -R) \ No newline at end of file diff --git a/sage/superelliptic_drw/regular_form.sage b/sage/superelliptic_drw/regular_form.sage new file mode 100644 index 0000000..8603428 --- /dev/null +++ b/sage/superelliptic_drw/regular_form.sage @@ -0,0 +1,102 @@ +class superelliptic_regular_form: + def __init__(self, A, B): + self.dx = A + self.dy = B + self.curve = A.curve + + def __repr__(self): + if self.dx.function == 0: + return "(" + str(self.dy) + ") dy" + if self.dy.function == 0: + return "("+str(self.dx) + ") dx" + return "("+str(self.dx) + ") dx + (" + str(self.dy) + ") dy" + + def form(self): + C = self.curve + return self.dx*C.dx + self.dy*C.y.diffn() + + def int(self): + '''Regular integral. Works only for hyperelliptics.''' + C = self.curve + f = C.polynomial + if C.exponent != 2: + raise ValueError("Works only for hyperelliptics.") + F = C.base_ring + Rx. = PolynomialRing(F) + Fxy, Rxy, x, y = C.fct_field + if self.dx == 0*C.x and self.dy == 0*C.x: + return 0*C.x + #which = random.choice([0, 1]) + P = self.dx.function + Q = self.dy.function + Py, Px = P.quo_rem(y) #P = y*Py + Px + Qy, Qx = Q.quo_rem(y) + result = superelliptic_function(C, Rx(Px + 1/2*Qy*f.derivative()).integral()) + numerator = Rx(2*f*Py + f.derivative()*Qx) + # Now numerator = 2W' f + W f'. We are looking for W. Then result is W*y. + W = Rx(0) + while(numerator != 0): + d = numerator.degree() + r = f.degree() + n_lead = numerator.leading_coefficient() + f_lead = Rx(f).leading_coefficient() + a = d - (r-1) + if a >= 0: + W_coeff = F(n_lead/f_lead)*F((2*a + r)^(-1)) + W += W_coeff*Rx(x^a) + numerator -= 2*f*(W_coeff*Rx(x^a)).derivative() + (W_coeff*Rx(x^a))*f.derivative() + numerator = Rx(numerator) + if a < 0: + W += Rx(numerator/f.derivative()) + numerator = Rx(0) + result = result + superelliptic_function(C, y*W) + return result + +class superelliptic_regular_drw_form: + def __init__(self, A, B, omega, h2): + self.dx = A + self.dy = B + self.omega = omega + self.h2 = h2 + self.curve = A.curve + + def form(self): + C = self.curve + A = self.dx + B = self.dy + h2 = self.h2 + omega = self.omega + form1 = superelliptic_drw_form(A, omega, h2) + form2 = B.teichmuller()*C.y.teichmuller().diffn() + + def __repr__(self): + return "[" + str(self.dx) + "] d[x] + [" + str(self.dy) + "] d[y] + V(" + str(self.omega) + ") + dV(" + str(self.h2) + ")" + +def regular_drw_form(omega): + C = omega.curve + omega_aux = omega.r() + omega_aux = omega_aux.regular_form() + aux = omega - omega_aux.dx.teichmuller()*C.x.teichmuller().diffn() - omega_aux.dy.teichmuller()*C.y.teichmuller().diffn() + result = superelliptic_regular_drw_form(omega_aux.dx, omega_aux.dy, aux.omega, aux.h2) + return result + +superelliptic_drw_form.regular_form = regular_drw_form + +def regular_form(omega): + '''Given a form omega regular on U0, present it as P(x, y) dx + Q(x, y) dy for some polynomial P, Q. + The output is A(x)*y, B(x), where omega = A(x) y dx + B(x) dy''' + C = omega.curve + f = C.polynomial + Fxy, Rxy, x, y = C.fct_field + F = C.base_ring + Rx. = PolynomialRing(F) + fct = omega.form + if fct.denominator() == y: + fct = fct.numerator() + integral_part, fct = fct.quo_rem(y) + d, A, B = xgcd(f, f.derivative()) + return superelliptic_regular_form(superelliptic_function(C, integral_part + A*fct*y), superelliptic_function(C,2*B*fct)) + if fct.denominator() == 1: + return superelliptic_regular_form(superelliptic_function(C, fct), 0*C.x) + +superelliptic_form.regular_form = regular_form \ No newline at end of file diff --git a/sage/superelliptic_drw/superelliptic_drw_auxilliaries.sage b/sage/superelliptic_drw/superelliptic_drw_auxilliaries.sage index 7061da7..ed9b8da 100644 --- a/sage/superelliptic_drw/superelliptic_drw_auxilliaries.sage +++ b/sage/superelliptic_drw/superelliptic_drw_auxilliaries.sage @@ -20,6 +20,7 @@ def decomposition_omega0_hpdh(omega): return (omega1, fct) def decomposition_omega8_hpdh(omega, prec = 50): + print('decomposition_omega8_hpdh', omega) '''Decompose omega = (regular on U8) + h^(p-1) dh, so that Cartier(omega) = (regular on U8) + dh. Result: (regular on U8, h)''' C = omega.curve @@ -28,15 +29,11 @@ def decomposition_omega8_hpdh(omega, prec = 50): F = C.base_ring p = C.characteristic Rt. = LaurentSeriesRing(F) - RT. = PolynomialRing(F) - FT = FractionField(RT) - omega_analytic = FT(laurent_analytic_part(omega.expansion_at_infty(prec = prec))(t = T)) + omega_analytic = Rt(laurent_analytic_part(omega.expansion_at_infty(prec = prec))) print('omega_analytic', omega_analytic) Cv = C.uniformizer() v = Fxy(Cv.function) - omega_analytic = Fxy(omega_analytic(T = v)) - print('expansions', superelliptic_function(C, omega_analytic).expansion_at_infty(prec = prec), '\n', Cv.diffn().expansion_at_infty(prec = prec), - '\n', (superelliptic_function(C, omega_analytic)*Cv.diffn()).expansion_at_infty(prec = prec)) + omega_analytic = Fxy(omega_analytic(t = v)) omega_analytic = superelliptic_function(C, omega_analytic)*Cv.diffn() print('omega_analytic.expansion_at_infty()', omega_analytic.expansion_at_infty(prec = prec)) print('omega_analytic', omega_analytic) @@ -46,4 +43,27 @@ def decomposition_omega8_hpdh(omega, prec = 50): print('dh', dh) h = dh.int() print('omega8.expansion_at_infty()', omega8.expansion_at_infty(prec = prec)) - return (omega8, h) \ No newline at end of file + return (omega8, h) + +def decomposition_g8_pth_power(fct, prec = 50): + print('decomposition_g8_pth_power', fct) + '''Decompose fct as g8 + A^p, if possible. Output: (g8, A).''' + C = fct.curve + F = C.base_ring + Rt. = LaurentSeriesRing(F) + Fxy, Rxy, x, y = C.fct_field + A = laurent_analytic_part(fct.expansion_at_infty(prec = prec)) + Cv = C.uniformizer() + v = Cv.function + A = A(t = v) + A = superelliptic_function(C, A) + A = A.pth_root() + g8 = fct - A^p + return (g8, A) + +def decomposition_g8_p2th_power(fct): + print('decomposition_g8_p2th_power', fct) + '''Decompose fct as g8 + A^(p^2), if possible. Output: (g8, A).''' + g0, A = decomposition_g8_pth_power(fct) + A0, A1 = decomposition_g8_pth_power(A) + return (g0 + A0^p, A1) \ No newline at end of file diff --git a/sage/superelliptic_drw/superelliptic_drw_cech.sage b/sage/superelliptic_drw/superelliptic_drw_cech.sage index 04ec0e0..3bb9a1d 100644 --- a/sage/superelliptic_drw/superelliptic_drw_cech.sage +++ b/sage/superelliptic_drw/superelliptic_drw_cech.sage @@ -78,23 +78,15 @@ class superelliptic_drw_cech: # Now we can reduce: (... + dV(h2), V(f), ...) --> (..., V(f - h2), ...) aux.f -= aux.omega0.h2.verschiebung() aux.omega0.h2 = 0*C.x - - if aux.omega8.h2.expansion_at_infty().valuation() >= 0: - aux.f += aux.omega8.h2.verschiebung() - aux.omega8.h2 = 0*C.x - print('aux', aux) - # Now aux should be of the form (V(omega1), V(f), V(omega2)) - # Thus aux = p*(Cartier(omega1), p-th_root(f), Cartier(omega2)) - aux_divided_by_p = superelliptic_cech(C, aux.omega0.omega.cartier(), aux.f.f.pth_root()) - print('aux_divided_by_p', aux_divided_by_p) - print('is regular', aux_divided_by_p.omega0.is_regular_on_U0(), aux_divided_by_p.omega8.is_regular_on_Uinfty()) - print('aux.omega0.omega.cartier() - aux.f.f.pth_root().diffn() == aux.omega8.omega.cartier()', aux.omega0.omega.cartier() - aux.f.f.pth_root().diffn() == aux.omega8.omega.cartier()) - return aux_divided_by_p - else: - print('aux.omega8.omega', aux.omega8.omega) - print('aux.omega8.h2', aux.omega8.h2) - print('second_patch(aux.omega8.h2.diffn()).is_regular_on_U0()', second_patch(aux.omega8.h2.diffn()).is_regular_on_U0()) - raise ValueError("aux.omega8.h2.expansion_at_infty().valuation() < 0:", aux.omega8.h2.expansion_at_infty()) + # Now the same for aux.omega8 + aux.omega8.omega, fct = decomposition_omega8_hpdh(aux.omega8.omega) + aux.omega8.h2 += fct^p + aux.omega8.h2 = decomposition_g8_p2th_power(aux.omega8.h2)[0] + aux.f += aux.omega8.h2.verschiebung() + aux.omega8.h2 = 0*C.x + print('aux.omega0.omega.cartier() - aux.f.f.pth_root().diffn() == aux.omega8.omega.cartier()', aux.omega0.omega.cartier() - aux.f.f.pth_root().diffn() == aux.omega8.omega.cartier()) + aux_divided_by_p = superelliptic_cech(C, aux.omega0.omega.cartier(), aux.f.f.pth_root()) + return aux_divided_by_p def coordinates(self, basis = 0): C = self.curve diff --git a/sage/superelliptic_drw/tests/auxilliary_decompositions_test.sage b/sage/superelliptic_drw/tests/auxilliary_decompositions_test.sage new file mode 100644 index 0000000..4e8bba7 --- /dev/null +++ b/sage/superelliptic_drw/tests/auxilliary_decompositions_test.sage @@ -0,0 +1,14 @@ +p = 3 +F = GF(3) +Rx. = PolynomialRing(F) +C = superelliptic((x^3 - x)^3 + x^3 - x, 2) +Fxy, Rxy, x, y = C.fct_field +om = ((C.x^28 - C.x^26 + C.x^25 - C.x^24 + C.x^23 - C.x^22 - C.x^21 + C.x^20 + C.x^19 + C.x^18 + C.x^17 + C.x^15 - C.x^14 + C.x^13 + C.x^12 + C.x^11 - C.x^10 - C.x^8 - C.x^7 + C.x^6 - C.x^5 + C.x^4 + C.x^2 + C.x - C.one)/(C.x^16*C.y - C.x^15*C.y + C.x^14*C.y - C.x^13*C.y + C.x^12*C.y - C.x^11*C.y + C.x^10*C.y - C.x^9*C.y - C.x^8*C.y + C.x^7*C.y - C.x^6*C.y + C.x^5*C.y - C.x^4*C.y + C.x^3*C.y - C.x^2*C.y + C.x*C.y))*C.dx +om1, A = decomposition_omega8_hpdh(om) +print(om1.is_regular_on_Uinfty() and om.cartier() == om1.cartier() + A.diffn()) +ff = ((2*C.x^74 + C.x^73 + C.x^71 + 2*C.x^70 + 2*C.x^65 + C.x^64 + C.x^62 + 2*C.x^61 + 2*C.x^56 + C.x^55 + C.x^53 + 2*C.x^52 + C.x^50 + 2*C.x^49 + 2*C.x^47 + C.x^46 + C.x^44 + 2*C.x^43 + 2*C.x^38 + C.x^37 + C.x^32 + 2*C.x^31 + 2*C.x^29 + C.x^28 + C.x^26 + 2*C.x^25 + C.x^23 + 2*C.x^22 + 2*C.x^17 + C.x^16 + C.x^14 + 2*C.x^13 + 2*C.x^8 + C.x^7 + C.x^5 + 2*C.x^4 + 2*C.x^2 + C.x)/(C.x^35 + 2*C.x^34 + 2*C.x^32 + C.x^31 + C.x^27 + 2*C.x^25 + 2*C.x^24 + C.x^22 + C.x^19 + C.x^16 + C.x^13 + 2*C.x^11 + 2*C.x^10 + C.x^8 + C.x^4 + 2*C.x^3 + 2*C.x + C.one))*C.y +ff1, ff2 = decomposition_g0_p2th_power(ff) +print(ff == ff1 + ff2^(p^2), ff1.function in Rxy) +om = ((C.x^18 - C.x^10 - C.x^9 + C.x)/C.y) * C.dx +om1, h = decomposition_omega0_hpdh(om) +print(om.cartier() == om1.cartier() + h.diffn(), om1.is_regular_on_U0()) \ No newline at end of file diff --git a/sage/tests.sage b/sage/tests.sage index e5d7ba2..791d236 100644 --- a/sage/tests.sage +++ b/sage/tests.sage @@ -1,12 +1,14 @@ load('init.sage') +#print("Expansion at infty test:") +#load('superelliptic/tests/expansion_at_infty.sage') #print("superelliptic form coordinates test:") #load('superelliptic/tests/form_coordinates_test.sage') #print("p-th root test:") #load('superelliptic/tests/pth_root_test.sage') #print("not working! superelliptic p rank test:") #load('superelliptic/tests/p_rank_test.sage') -print("a-number test:") -load('superelliptic/tests/a_number_test.sage') +#print("a-number test:") +#load('superelliptic/tests/a_number_test.sage') #print("as_cover_test:") #load('as_covers/tests/as_cover_test.sage') #print("group_action_matrices_test:")