Opened 15 months ago
Last modified 12 months ago
#26195 closed enhancement
Tate algebras — at Version 53
Reported by:  caruso  Owned by:  

Priority:  major  Milestone:  sage8.5 
Component:  padics  Keywords:  
Cc:  TristanVaccon, ghThibautVerron, caruso, roed  Merged in:  
Authors:  Xavier Caruso, Thibaut Verron  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  u/caruso/tate_algebras (Commits)  Commit:  408512dee2f068e87131cf118b59ffb52882bd2e 
Dependencies:  Stopgaps: 
Description (last modified by )
This ticket implements Tate algebras over complete discrete valuation rings/fields, together with Gröbner bases for ideals in these algebras.
See the documentation of sage.rings.tate_algebra
for details.
Change History (53)
comment:1 Changed 15 months ago by
 Branch set to u/caruso/tate_algebras
comment:2 Changed 15 months ago by
 Branch changed from u/caruso/tate_algebras to u/ghThibautVerron/TateAlgebras
 Commit set to b8a6ac3ef7ac5f8608e1ff30beb59ced9b85c357
comment:3 Changed 15 months ago by
 Branch changed from u/ghThibautVerron/TateAlgebras to u/caruso/TateAlgebras
comment:4 Changed 15 months ago by
 Commit changed from b8a6ac3ef7ac5f8608e1ff30beb59ced9b85c357 to 9ca2244a01a165e24431e9d58acf5054484d0cb3
comment:5 Changed 15 months ago by
 Commit changed from 9ca2244a01a165e24431e9d58acf5054484d0cb3 to 05cf0414d5afae999fdc1f8000075571d9accd52
Branch pushed to git repo; I updated commit sha1. New commits:
05cf041  Restriction + small fix in inverse_of_unit

comment:6 Changed 15 months ago by
 Commit changed from 05cf0414d5afae999fdc1f8000075571d9accd52 to 5d0e354ec45b362282840aa32d2b4cbd0856285f
Branch pushed to git repo; I updated commit sha1. New commits:
5d0e354  Fix bugs in quo_rem

comment:7 Changed 15 months ago by
 Cc TristanVaccon added; vaccon removed
comment:8 Changed 15 months ago by
 Branch changed from u/caruso/TateAlgebras to u/ghThibautVerron/tate_algebras
 Commit changed from 5d0e354ec45b362282840aa32d2b4cbd0856285f to 5abdb64bf364a1459e1b8e771219274fe1e35172
comment:9 Changed 15 months ago by
 Branch changed from u/ghThibautVerron/tate_algebras to u/caruso/tate_algebras
comment:10 Changed 15 months ago by
 Branch changed from u/caruso/tate_algebras to u/ghThibautVerron/tate_algebras
comment:11 Changed 15 months ago by
 Commit changed from 5abdb64bf364a1459e1b8e771219274fe1e35172 to 78003937e854ba0699ec507d41cd41f7e81d2af8
Branch pushed to git repo; I updated commit sha1. New commits:
7800393  Revert changes to .dirlocals.el

comment:12 Changed 15 months ago by
 Commit changed from 78003937e854ba0699ec507d41cd41f7e81d2af8 to 2383ba0acfb017721ec55ac44d790f0a1aba81f9
Branch pushed to git repo; I updated commit sha1. New commits:
2383ba0  Fixed tests

comment:13 Changed 15 months ago by
 Cc caruso added
comment:14 Changed 15 months ago by
 Branch changed from u/ghThibautVerron/tate_algebras to u/caruso/tate_algebras
comment:15 Changed 15 months ago by
 Commit changed from 2383ba0acfb017721ec55ac44d790f0a1aba81f9 to 8446736d3e9bb14d60b6688f8d258f8a47cb66f6
Branch pushed to git repo; I updated commit sha1. New commits:
8446736  Bug fixed in TateAlgebraTerms & more functionalities for ideals

comment:16 Changed 15 months ago by
 Description modified (diff)
comment:17 Changed 15 months ago by
 Description modified (diff)
comment:18 Changed 15 months ago by
 Commit changed from 8446736d3e9bb14d60b6688f8d258f8a47cb66f6 to fd3bf7b662acc0cebe91f963a8c9057604e69cda
Branch pushed to git repo; I updated commit sha1. New commits:
fd3bf7b  Some improvements in Buchberger algorithm

comment:19 Changed 15 months ago by
 Commit changed from fd3bf7b662acc0cebe91f963a8c9057604e69cda to bfddf6e4dc8670551fd94ae87d4d330890d1b934
Branch pushed to git repo; I updated commit sha1. New commits:
bfddf6e  Rewrite in cython

comment:20 Changed 15 months ago by
 Commit changed from bfddf6e4dc8670551fd94ae87d4d330890d1b934 to bc7c7637e5d43c612a4137747b1d2d9d2b58d699
Branch pushed to git repo; I updated commit sha1. New commits:
bc7c763  Better (?) choice of ordering of Spolynomials

comment:21 Changed 15 months ago by
 Branch changed from u/caruso/tate_algebras to u/ghThibautVerron/tate_algebras
comment:22 Changed 15 months ago by
 Branch changed from u/ghThibautVerron/tate_algebras to u/caruso/tate_algebras
comment:23 Changed 15 months ago by
 Commit changed from bc7c7637e5d43c612a4137747b1d2d9d2b58d699 to b00b8e042c46adde4d0887feb0394293eee50f13
Branch pushed to git repo; I updated commit sha1. New commits:
b00b8e0  Use directly the cython class PolyDict

comment:24 Changed 15 months ago by
 Commit changed from b00b8e042c46adde4d0887feb0394293eee50f13 to 100cbb727e64017ae940f5c4612a646092c1215a
Branch pushed to git repo; I updated commit sha1. New commits:
100cbb7  Fix bug in creation of elements in Tate algebras

comment:25 Changed 15 months ago by
 Branch changed from u/caruso/tate_algebras to u/ghThibautVerron/tate_algebras
comment:26 Changed 15 months ago by
 Branch changed from u/ghThibautVerron/tate_algebras to u/caruso/tate_algebras
comment:27 Changed 15 months ago by
 Commit changed from 100cbb727e64017ae940f5c4612a646092c1215a to 0f6391a172c79ac5620b32f1e323e407ee135016
Branch pushed to git repo; I updated commit sha1. New commits:
0f6391a  f.residue() now returns a polynomial over the residue field

comment:28 Changed 15 months ago by
 Branch changed from u/caruso/tate_algebras to u/ghThibautVerron/tate_algebras
comment:29 Changed 15 months ago by
 Commit changed from 0f6391a172c79ac5620b32f1e323e407ee135016 to a5b9d368190ce600023393f846a43918cd9533fb
Branch pushed to git repo; I updated commit sha1. New commits:
a5b9d36  Partial documentation of Tate algebra term elements

comment:30 Changed 15 months ago by
 Branch changed from u/ghThibautVerron/tate_algebras to u/caruso/tate_algebras
comment:31 Changed 15 months ago by
 Commit changed from a5b9d368190ce600023393f846a43918cd9533fb to cfc09d771fab2b7abb49f130913668324969602f
comment:32 Changed 15 months ago by
 Commit changed from cfc09d771fab2b7abb49f130913668324969602f to 7c2ac0bc86198f09c364c5151a275f3ad08dcc9c
Branch pushed to git repo; I updated commit sha1. New commits:
7c2ac0b  Implement a factory

comment:33 Changed 15 months ago by
 Branch changed from u/caruso/tate_algebras to u/ghThibautVerron/tate_algebras
comment:34 Changed 15 months ago by
 Commit changed from 7c2ac0bc86198f09c364c5151a275f3ad08dcc9c to 2a4044c42980e116e157de9749237f83b08e8058
Branch pushed to git repo; I updated commit sha1. New commits:
2a4044c  Documentation for Tate terms

comment:35 Changed 15 months ago by
 Commit changed from 2a4044c42980e116e157de9749237f83b08e8058 to 892c63163df8a1bd0805e6d0e593ac46103ce27d
comment:36 Changed 15 months ago by
 Commit changed from 892c63163df8a1bd0805e6d0e593ac46103ce27d to d10fca9e1b2d78e7ce7c9403a272cfd2a93cb31c
Branch pushed to git repo; I updated commit sha1. New commits:
d10fca9  Doctest for TateAlgebraElement __init__

comment:37 Changed 15 months ago by
 Branch changed from u/ghThibautVerron/tate_algebras to u/caruso/tate_algebras
comment:38 Changed 15 months ago by
 Commit changed from d10fca9e1b2d78e7ce7c9403a272cfd2a93cb31c to 0a49fbb4679a41a7c0a2595bae43ca291516f5a4
comment:39 Changed 15 months ago by
 Commit changed from 0a49fbb4679a41a7c0a2595bae43ca291516f5a4 to 0576cde54aa26aa7af7d8e2edd68b1c51f4946ba
Branch pushed to git repo; I updated commit sha1. New commits:
0576cde  Shorten doctests

comment:40 Changed 15 months ago by
 Commit changed from 0576cde54aa26aa7af7d8e2edd68b1c51f4946ba to 53c7ed32c004b8177a5991c7e2d7ea3e160f8119
Branch pushed to git repo; I updated commit sha1. New commits:
53c7ed3  Typo

comment:41 Changed 15 months ago by
 Commit changed from 53c7ed32c004b8177a5991c7e2d7ea3e160f8119 to fa9b86b913d1526120c1956cb3848798331598eb
Branch pushed to git repo; I updated commit sha1. New commits:
fa9b86b  Merge branch 'develop' into t/26195/tate_algebras

comment:42 Changed 15 months ago by
 Branch changed from u/caruso/tate_algebras to u/ghThibautVerron/tate_algebras
comment:43 Changed 15 months ago by
 Commit changed from fa9b86b913d1526120c1956cb3848798331598eb to ef8799f583ef84cadbcec3226b9691ea1b5d3f9b
Branch pushed to git repo; I updated commit sha1. New commits:
ef8799f  Partial documentation for the Tate algebra monoid class

comment:44 Changed 15 months ago by
 Commit changed from ef8799f583ef84cadbcec3226b9691ea1b5d3f9b to 44ba97030b04cbc846ab44897b6185bbfa90d7ee
comment:45 Changed 15 months ago by
 Cc roed added
I cc roed because, David, you might know the answer at the following question.
In this ticket, we have implemented two parents, the first one for the Tate algebra itself and the second one for the monoid of terms of the Tate Algebra. Here is a basic example:
sage: A.<x,y> = TateAlgebra(Zp(2)); A Tate Algebra in x (val >= 0), y (val >= 0) over 2adic Field with capped relative precision 20 sage: T = A.monoid_of_terms(); T Monoid of terms in x (val >= 0), y (val >= 0) over 2adic Field with capped relative precision 20
We now want to add a method for recovering A
(the Tate algebra) from T
(the monoid of terms). However a method algebra
already exists: it is inherited from sage.categories.sets_cat.Sets
and provides a very general construction of an algebra over an arbitrary set.
We believe that this general construction is not very relevant in our setting and that T.algebra()
should instead output A
. So our question is: is it allowed/appropriate to override the method algebra
(keeping in mind that it comes from the category machinery)?
In any case, we will create a method tate_algebra
but we think that having algebra
at the same time (with a different behavior) could be confusing.
comment:46 Changed 15 months ago by
Yes, you are allowed (maybe even encouraged) to override algebra
, and in this case, you should because you have a specialized implementation of the algebra.
Also, I want to just point out a common idiom that we've used is to define the monoid of monomials, then use CombinatorialFreeModule
and the category of AlgebrasWithBasis
to construct the corresponding algebra by implementing product_on_basis
. Although this has been known to have some issues with overhead due to the number of indirections (which can be mitigated by directly implementing the multiplication in the element class), and this might not work for what you need.
comment:47 Changed 15 months ago by
 Commit changed from 44ba97030b04cbc846ab44897b6185bbfa90d7ee to c559f1487c26ba91644d2fbf83333c66a91c8ac0
comment:48 Changed 15 months ago by
 Commit changed from c559f1487c26ba91644d2fbf83333c66a91c8ac0 to 298c253bb13e147604e91781f30bf9402fbacae5
comment:49 Changed 15 months ago by
 Commit changed from 298c253bb13e147604e91781f30bf9402fbacae5 to 52b9ad10d6e0b8c8901556090715f9944f594ee5
Branch pushed to git repo; I updated commit sha1. New commits:
52b9ad1  Documentation of Buchberger's function

comment:50 Changed 15 months ago by
 Branch changed from u/ghThibautVerron/tate_algebras to u/caruso/tate_algebras
comment:51 Changed 15 months ago by
 Commit changed from 52b9ad10d6e0b8c8901556090715f9944f594ee5 to a433e9c22e2a0693a78c851f5b0de615516fd546
comment:52 Changed 15 months ago by
 Commit changed from a433e9c22e2a0693a78c851f5b0de615516fd546 to 408512dee2f068e87131cf118b59ffb52882bd2e
Branch pushed to git repo; I updated commit sha1. New commits:
408512d  Normalize output of groebner_basis

comment:53 Changed 15 months ago by
 Description modified (diff)
 Status changed from new to needs_review
Branch pushed to git repo; I updated commit sha1. New commits:
First working version