Bernoulli polynomials #
The Bernoulli polynomials (defined here : https://en.wikipedia.org/wiki/Bernoulli_polynomials) are an important tool obtained from Bernoulli numbers.
Mathematical overview #
The $n$-th Bernoulli polynomial is defined as $$ B_n(X) = ∑_{k = 0}^n {n \choose k} (-1)^k * B_k * X^{n - k} $$ where $B_k$ is the $k$-th Bernoulli number. The Bernoulli polynomials are generating functions, $$ t * e^{tX} / (e^t - 1) = ∑_{n = 0}^{\infty} B_n(X) * \frac{t^n}{n!} $$
Implementation detail #
Bernoulli polynomials are defined using bernoulli
, the Bernoulli numbers.
Main theorems #
sum_bernoulli
: The sum of the $k^\mathrm{th}$ Bernoulli polynomial with binomial coefficients up to n is(n + 1) * X^n
.bernoulli_generating_function
: The Bernoulli polynomials act as generating functions for the exponential.
TODO #
bernoulli_eval_one_neg
: $$ B_n(1 - x) = (-1)^n*B_n(x) $$
The Bernoulli polynomials are defined in terms of the negative Bernoulli numbers.
Equations
- polynomial.bernoulli n = ∑ (i : ℕ) in finset.range (n + 1), ⇑(polynomial.monomial (n - i)) ((bernoulli i) * ↑(n.choose i))
theorem
polynomial.bernoulli_def
(n : ℕ) :
polynomial.bernoulli n = ∑ (i : ℕ) in finset.range (n + 1), ⇑(polynomial.monomial i) ((bernoulli (n - i)) * ↑(n.choose i))
@[simp]
@[simp]
@[simp]
theorem
polynomial.sum_bernoulli
(n : ℕ) :
∑ (k : ℕ) in finset.range (n + 1), ↑((n + 1).choose k) • polynomial.bernoulli k = ⇑(polynomial.monomial n) (↑n + 1)
theorem
polynomial.bernoulli_generating_function
{A : Type u_1}
[comm_ring A]
[algebra ℚ A]
(t : A) :
(power_series.mk (λ (n : ℕ), ⇑(polynomial.aeval t) ((1 / ↑n!) • polynomial.bernoulli n))) * (power_series.exp A - 1) = power_series.X * ⇑(power_series.rescale t) (power_series.exp A)
The theorem that ∑ Bₙ(t)X^n/n!)(e^X-1)=Xe^{tX}