Witt polynomials #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
To endow witt_vector p R with a ring structure,
we need to study the so-called Witt polynomials.
Fix a base value p : ℕ.
The p-adic Witt polynomials are an infinite family of polynomials
indexed by a natural number n, taking values in an arbitrary ring R.
The variables of these polynomials are represented by natural numbers.
The variable set of the nth Witt polynomial contains at most n+1 elements {0, ..., n},
with exactly these variables when R has characteristic 0.
These polynomials are used to define the addition and multiplication operators on the type of Witt vectors. (While this type itself is not complicated, the ring operations are what make it interesting.)
When the base p is invertible in R, the p-adic Witt polynomials
form a basis for mv_polynomial ℕ R, equivalent to the standard basis.
Main declarations #
witt_polynomial p R n: then-th Witt polynomial, viewed as polynomial over the ringRX_in_terms_of_W p R n: ifpis invertible, the polynomialX nis contained in the subalgebra generated by the Witt polynomials.X_in_terms_of_W p R nis the explicit polynomial, which upon being bound to the Witt polynomials yieldsX n.bind₁_witt_polynomial_X_in_terms_of_W: the proof of the claim thatbind₁ (X_in_terms_of_W p R) (W_ R n) = X nbind₁_X_in_terms_of_W_witt_polynomial: the converse of the above statement
Notation #
In this file we use the following notation
pis a natural number, typically assumed to be prime.RandSare commutative ringsW n(andW_ R nwhen the ring needs to be explicit) denotes thenth Witt polynomial
References #
witt_polynomial p R n is the n-th Witt polynomial
with respect to a prime p with coefficients in a commutative ring R.
It is defined as:
∑_{i ≤ n} p^i X_i^{p^{n-i}} ∈ R[X_0, X_1, X_2, …].
Equations
- witt_polynomial p R n = (finset.range (n + 1)).sum (λ (i : ℕ), ⇑(mv_polynomial.monomial (finsupp.single i (p ^ (n - i)))) (↑p ^ i))
We set up notation locally to this file, to keep statements short and comprehensible.
This allows us to simply write W n or W_ ℤ n.
Over the ring zmod (p^(n+1)), we produce the n+1st Witt polynomial
by expanding the nth Witt polynomial by p.
Witt polynomials as a basis of the polynomial algebra #
If p is invertible in R, then the Witt polynomials form a basis
of the polynomial algebra mv_polynomial ℕ R.
The polynomials X_in_terms_of_W give the coordinate transformation in the backwards direction.
The X_in_terms_of_W p R n is the polynomial on the basis of Witt polynomials
that corresponds to the ordinary X n.
Equations
- X_in_terms_of_W p R n = (mv_polynomial.X n - finset.univ.sum (λ (i : fin n), ⇑mv_polynomial.C (↑p ^ ↑i) * X_in_terms_of_W p R ↑i ^ p ^ (n - ↑i))) * ⇑mv_polynomial.C (⅟ ↑p ^ n)