sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.42k stars 477 forks source link

Ramified extensions of general p-adic rings and fields #23218

Closed roed314 closed 6 years ago

roed314 commented 7 years ago

We should have support for relative extensions of p-adic rings and fields. This is particularly useful for totally ramified extensions of unramified extensions of Qp, which will represent a general absolute extension of Qp.

Depends on #23221 Depends on #23228 Depends on #23471 Depends on #25908 Depends on #21994

CC: @saraedum @sagetrac-swewers @xcaruso

Component: padics

Keywords: sd87, padicIMA

Author: David Roe, Julian Rüth, Xavier Caruso

Branch/Commit: 319f6d4

Reviewer: Julian Rüth, Xavier Caruso, David Roe

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

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from d037d15 to a6b4361

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

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

7f87069Fix segfault
b9c2fe4Fix pickling of sections for p-adic coercions
6ba62ddFix SEEALSO again
e9c4c39Merge branch 'u/roed/allow_exact_defining_polynomials_for_p_adic_extensions' of git://trac.sagemath.org/sage into t/23331/allow_exact_defining_polynomials_for_p_adic_extensions
561f5acFix doctest errors
3142701Merge branch 'u/roed/change_precision' of git://trac.sagemath.org/sage into t/20310/change_precision
138d939Fix string representation doctest from #22103
1eeb367Merge branch 't/20310/change_precision' into t/14825/polynomial_representation_of_a_padic_number
1d1ad89Merge branch 'u/roed/padic_ext_conversion' of git://trac.sagemath.org/sage into t/23471/padic_ext_conversion
a6b4361Merge branch 'u/roed/ramified_extensions_of_general_p_adic_rings_and_fields' of git://trac.sagemath.org/sage into t/23218/ramified_extensions_of_general_p_adic_rings_and_fields
roed314 commented 7 years ago

Diff against #23471

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from a6b4361 to e201321

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago
comment:33

Attachment: 23218_over_23471.diff.gz

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

e201321Make conversion from residue field work for two step extensions
roed314 commented 7 years ago
comment:34

Update dependency chain: #23471 depends on #14825, which depends on #20310.

roed314 commented 7 years ago

Changed dependencies from #23221, #23228, #20310, #14825, #23471 to #23221, #23228, #23471

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from e201321 to 392a5b6

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

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

0b7fd02default docstring layout
def3897replace p with pi and clarify meaning of expansion
99c40d6add unit test for expansion
6732d38coefficients might be lists in the maximal unramified subextension
acc606aMerge branch 'u/saraedum/polynomial_representation_of_a_padic_number' of git://trac.sagemath.org/sage into t/14825/polynomial_representation_of_a_padic_number
40737f6Fix some of the errors in _test_expansion
6efed0bMerge branch 'u/roed/polynomial_representation_of_a_padic_number' of git://trac.sagemath.org/sage into t/14825/polynomial_representation_of_a_padic_number
2b93c3cMerge branch 'develop' into t/23471/padic_ext_conversion
3fc818aMerge branch 'u/roed/padic_ext_conversion' of git://trac.sagemath.org/sage into t/23471/padic_ext_conversion
392a5b6Merge branch 'u/roed/ramified_extensions_of_general_p_adic_rings_and_fields' of git://trac.sagemath.org/sage into t/23218/ramified_extensions_of_general_p_adic_rings_and_fields
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 392a5b6 to 9633e88

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

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

d7d5fb6Fixing documentation
8f34757Merge branch 't/14825/polynomial_representation_of_a_padic_number' into t/23471/padic_ext_conversion
46f9caeMerge branch 'develop' into t/14825/polynomial_representation_of_a_padic_number
e51c0f5Merge branch 'u/roed/polynomial_representation_of_a_padic_number' of git://trac.sagemath.org/sage into t/14825/polynomial_representation_of_a_padic_number
b6457b1Moving SEEALSO to the end of the docstring
b81b722Remove use of depraceted list()
04a1579Fix NOTES blocks
6764ea2Merge branch 'develop' into t/14825/polynomial_representation_of_a_padic_number
0c58970Merge branch 't/14825/polynomial_representation_of_a_padic_number' into t/23471/padic_ext_conversion
9633e88Merge branch 'u/roed/ramified_extensions_of_general_p_adic_rings_and_fields' of git://trac.sagemath.org/sage into t/23218/ramified_extensions_of_general_p_adic_rings_and_fields
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

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

1ad1dbaRemoving commented code in relative_ramified_FM.pyx
ef0f2d9Merge commit '1ad1dba6a2' into t/23218/ramified_extensions_of_general_p_adic_rings_and_fields
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 9633e88 to ef0f2d9

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from ef0f2d9 to 493625a

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

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

6311b85cimport fraction field element types
16f53ecRemove sig_on from around cshift, since this can call python code in two step extensions
10cdb0cFix sign errors in calling cshift
6b995a4Switch from clist to cexpansion_next and cexpansion_getitem
a5f4606Undo debugging change
617f85bUse conditional compilation to simplify code for relative ramified extensions
7aecc2fswitch from % operator to add_bigoh in reduction
0303c7bUse integral coefficients for the internal polynomials representing two-step extension elements
690ba7dCompute inertia degee in whole tower when printing two-step p-adic extension elements
493625aAdd coercion maps to fraction field for two-step extensions
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 493625a to 8939981

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

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

501577bAdd modulus and defining polynomials for Qp and Zp for consistency
ce61f64Improve base ring injections for relative extensions of p-adic fields
16477d3Make conversion from residue field work for two-step extensions of p-adics
1c7cc71Fix typo in section method for base ring injection in p-adic two-step extensions
8be1504Fix bugs in creduce and ccoefficients for two-step p-adic extensions
d53df12Add coerce_list back in to the `_populate_coercion_lists_` call in pAdicExtensionGeneric.__init__
e68beeeFix some p-adic doctests
635021aChange _poly_rep to always return the polynomial representing the element, not the unit
67c1f14Change the internal base ring for two-step extensions to not show precision when printing, fix bug in base ring coercion
8939981Fix problems in expansion code
742ccff4-512f-43e4-bdd0-5df91c799a52 commented 6 years ago
comment:40

It seems that I have found a problem with this ticket. Here is my example:

sage: R=Zq(2^10)
sage: P.<alpha>=R[]
sage: R1.<t>=R.ext(alpha^2+2*alpha+2)
sage: M1=matrix(R1, 2, 2)
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

e64d891added square for unramified 2-adic fields
f4ce9aaMerge branch 'u/lubicz/ramified_extensions_of_general_p_adic_rings_and_fields' of git://trac.sagemath.org/sage into t/23344/sqrt_2
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 8939981 to f4ce9aa

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

ce61f64Improve base ring injections for relative extensions of p-adic fields
16477d3Make conversion from residue field work for two-step extensions of p-adics
1c7cc71Fix typo in section method for base ring injection in p-adic two-step extensions
8be1504Fix bugs in creduce and ccoefficients for two-step p-adic extensions
d53df12Add coerce_list back in to the `_populate_coercion_lists_` call in pAdicExtensionGeneric.__init__
e68beeeFix some p-adic doctests
635021aChange _poly_rep to always return the polynomial representing the element, not the unit
67c1f14Change the internal base ring for two-step extensions to not show precision when printing, fix bug in base ring coercion
8939981Fix problems in expansion code
e3a1c86Merge commit '8939981e4b02ac12b86f943d93a8baef25e9af51' of git://trac.sagemath.org/sage into t/23218/general_extensions
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from f4ce9aa to e3a1c86

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

e64d891added square for unramified 2-adic fields
65f2853Merge commit 'e64d891c19b4b5bb1b2b8d666f16f02ad405c67e' of git://trac.sagemath.org/sage into t/23344/sqrt_2
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from e3a1c86 to 65f2853

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 65f2853 to e3a1c86

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

ce61f64Improve base ring injections for relative extensions of p-adic fields
16477d3Make conversion from residue field work for two-step extensions of p-adics
1c7cc71Fix typo in section method for base ring injection in p-adic two-step extensions
8be1504Fix bugs in creduce and ccoefficients for two-step p-adic extensions
d53df12Add coerce_list back in to the `_populate_coercion_lists_` call in pAdicExtensionGeneric.__init__
e68beeeFix some p-adic doctests
635021aChange _poly_rep to always return the polynomial representing the element, not the unit
67c1f14Change the internal base ring for two-step extensions to not show precision when printing, fix bug in base ring coercion
8939981Fix problems in expansion code
e3a1c86Merge commit '8939981e4b02ac12b86f943d93a8baef25e9af51' of git://trac.sagemath.org/sage into t/23218/general_extensions
roed314 commented 6 years ago
comment:45

Sorry for the weird force pushes. Things got confused with #23344. It should be okay now, and a fast-forward of the branch from an hour ago.

xcaruso commented 6 years ago

Changed branch from u/roed/ramified_extensions_of_general_p_adic_rings_and_fields to u/caruso/ramified_extensions_of_general_p_adic_rings_and_fields

roed314 commented 6 years ago

Changed branch from u/caruso/ramified_extensions_of_general_p_adic_rings_and_fields to u/roed/ramified_extensions_of_general_p_adic_rings_and_fields

xcaruso commented 6 years ago
comment:48

Here are a series of bugs/remarks (see also discussion on Zulip):


New commits:

d77b226Ensure that coefficient lists are copied in the p-adic Polynomial linkage files
aa1c48bFix error in category for `_convert_map_for_` in p-adic extension rings
73040f3Handle base ring correctly in `__init__` method for p-adic template elements
96e977bFix a few bugs and add some tests
f686d75Merge branch 'develop' into t/23218/ramified_extensions_of_general_p_adic_rings_and_fields
3404208Merge branch 'u/caruso/ramified_extensions_of_general_p_adic_rings_and_fields' of git://trac.sagemath.org/sage into t/23218/ramified_extensions_of_general_p_adic_rings_and_fields
xcaruso commented 6 years ago

Changed commit from e3a1c86 to 3404208

roed314 commented 6 years ago

Changed keywords from sd87 to sd87, padicIMA

365a0c67-81c0-4123-b354-fa6cea4e9402 commented 6 years ago
comment:50

_test_add, _test_elements, _test_log, _test_sub failed when running TestSuite on the following 5-adic Eisenstein field.

sage: K.<a> = Qq(125)
sage: R.<x> = K[]
sage: W.<w> = K.extension(x^3 + 25*x^2 - 5*a*x + 5*(1+a^2))
sage: TestSuite(W).run()

For _test_add, the line

tester.assertTrue(y.is_equal_to(z-x,zprec))

fails. Even though the expressions z-(x+y) and x+y-z were fine, the expression z-x-y is not. (In my particular failure, they all had relative precision 60, x and z had absolute precision 60, y had absolute precision 63.)

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 3404208 to 740ff4f

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

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

82c4ca0Merge branch 'u/roed/ramified_extensions_of_general_p_adic_rings_and_fields' of git://trac.sagemath.org/sage into t/23218/general_extensions
740ff4fFix in_field for pow_comptuers of relative p-adic extensions
365a0c67-81c0-4123-b354-fa6cea4e9402 commented 6 years ago
comment:52

random_element fails because multiplying by an element in the base field with negative valuation throws a "ValueError: negative valuation"

sage: K.<a> = Qq(125)
sage: R.<t> = K[]
sage: W.<w> = K.extension(t^3 + 5*(5*t^2 + (13*a-a^2)*t + a))
sage: K(1/5)*w
ValueError: negative valuation
xcaruso commented 6 years ago

Changed branch from u/roed/ramified_extensions_of_general_p_adic_rings_and_fields to u/caruso/ramified_extensions_of_general_p_adic_rings_and_fields

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 740ff4f to 17322fa

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

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

debf1fcCommit to make different from develop
25c86a6Change printing for p-adic extensions
e74fe63Doctest for the helper method _extension_type
17322faMerge branch 't/25908/padic_printing' into t/23218/ramified_extensions_of_general_p_adic_rings_and_fields
xcaruso commented 6 years ago

Changed dependencies from #23221, #23228, #23471 to #23221, #23228, #23471, #25908

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

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

8882d03Fix expansion
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 17322fa to 8882d03

xcaruso commented 6 years ago
comment:57

Here is another bug:

sage: K.<a> = Qq(2^10, 10)
sage: S.<X> = K[]
sage: L.<pi> = K.extension(X^2 - 16*X + 2)
sage: L(2,absprec=3)
<repr(<sage.rings.padics.relative_ramified_CR.RelativeRamifiedCappedRelativeElement at 0x7febfb11d4d0>) failed: RuntimeError: repr_spec called on zero>

New commits:

8882d03Fix expansion
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

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

3654af8Some fixes in the sqrt function
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 8882d03 to 3654af8

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

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

5553da8Remove a unwanted print statement
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 3654af8 to 5553da8

roed314 commented 6 years ago

Changed branch from u/caruso/ramified_extensions_of_general_p_adic_rings_and_fields to u/roed/ramified_extensions_of_general_p_adic_rings_and_fields

xcaruso commented 6 years ago

Changed branch from u/roed/ramified_extensions_of_general_p_adic_rings_and_fields to u/caruso/ramified_extensions_of_general_p_adic_rings_and_fields

roed314 commented 6 years ago

Changed branch from u/caruso/ramified_extensions_of_general_p_adic_rings_and_fields to u/roed/ramified_extensions_of_general_p_adic_rings_and_fields