Opened 10 years ago
Closed 7 years ago
#8241 closed enhancement (fixed)
p-adic fields should have Witt Frobenius
Reported by: | dmharvey | Owned by: | roed |
---|---|---|---|
Priority: | major | Milestone: | sage-5.0 |
Component: | padics | Keywords: | |
Cc: | Merged in: | sage-5.0.beta9 | |
Authors: | David Roe | Reviewers: | Kiran Kedlaya, David Loeffler |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
If K is an unramified extension of Qp, there should be a function that computes the canonical Witt p-Frobenius:
sage: K.<a> = Qp(25) sage: a.witt_frobenius() ???
Apply trac_8241-frobenius.patch to the Sage library.
Attachments (2)
Change History (18)
comment:1 Changed 10 years ago by
comment:2 Changed 9 years ago by
- Milestone set to sage-4.6.1
- Status changed from new to needs_review
I called the function frobenius
rather than witt_frobenius
.
comment:3 Changed 9 years ago by
Fixed a small problem revealed by the test-bot.
comment:4 Changed 8 years ago by
For consistency, these methods should also apply to Qp, with Frobenius acting as the identity map. For instance, the following should not raise an exception:
sage: Qp(7)(2).frobenius()
comment:5 Changed 8 years ago by
- Status changed from needs_review to needs_work
comment:6 Changed 8 years ago by
- Status changed from needs_work to needs_review
There's now a frobenius method for p-adic base rings and fields.
comment:7 follow-up: ↓ 8 Changed 8 years ago by
I have no idea why adding a method to Qp causes a test in sage/libs/fplll/fplll.py to fail.
comment:8 in reply to: ↑ 7 Changed 8 years ago by
comment:9 Changed 8 years ago by
- Description modified (diff)
- Reviewers set to Kiran Kedlaya
Ping. (#11586, which has positive review, depends on this one.)
Changed 8 years ago by
comment:10 Changed 8 years ago by
As Sebastian Pancratz noted in his talk, it would be great if someone wrote a better implementation of this.
comment:11 Changed 8 years ago by
The patchbot finds some Sphinx formatting errors in the docstrings:
docstring of sage.rings.padics.padic_ZZ_pX_CA_element.pAdicZZpXCAElement.teichmuller_list:4: WARNING: Inline interpreted text or phrase reference start-string without end-string. docstring of sage.rings.padics.padic_ZZ_pX_CA_element:2: WARNING: Block quote ends without a blank line; unexpected unindent. docstring of sage.rings.padics.padic_ZZ_pX_CR_element.pAdicZZpXCRElement.teichmuller_list:4: WARNING: Inline interpreted text or phrase reference start-string without end-string. docstring of sage.rings.padics.padic_ZZ_pX_CR_element:2: WARNING: Block quote ends without a blank line; unexpected unindent. docstring of sage.rings.padics.padic_ext_element.pAdicExtElement.frobenius:6: WARNING: Inline interpreted text or phrase reference start-string without end-string.
It's also harping on about trailing whitespace (which is apparently now a Bad Thing, although Sage has been tolerating it cheerfully for years).
comment:12 Changed 8 years ago by
- Description modified (diff)
comment:13 Changed 8 years ago by
- Reviewers changed from Kiran Kedlaya to Kiran Kedlaya, David Loeffler
Here's a new patch with the docstrings straightened out and trailing whitespace removed. I've also added a doctest to show that an error is raised when "frobenius" is called on an element of a ramified extension. I'm happy with the rest of the code, so if David's happy with my changes we can call this that's a positive review.
comment:14 Changed 8 years ago by
- Status changed from needs_review to positive_review
Looks good to me. I've created #12657: write a more efficient implementation of Frobenius.
comment:15 Changed 8 years ago by
Patchbot's grumbling about trailing whitespace again, so I removed one single space character and re-uploaded the patch.
comment:16 Changed 7 years ago by
- Merged in set to sage-5.0.beta9
- Resolution set to fixed
- Status changed from positive_review to closed
(oops the Qp above should be Qq)