Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 4428243

Browse files
chore(polynomial/chebyshev): changes names of chebyshev₁ to chebyshev.T and chebyshev₂ to chebyshev.U (#6519)
Still have to write here what was changed (will be a long list). More or less this is just search and replace `chebyshev₁` for `chebyshev.T` and `chebyshev₂` for `chebyshev.U`. * `polynomial.chebyshev₁` is now `polynomial.chebyshev.T` * `polynomial.chebyshev₁_zero` is now `polynomial.chebyshev.T_zero` * `polynomial.chebyshev₁_one` is now `polynomial.chebyshev.T_one` * `polynomial.chebyshev₁_two` is now `polynomial.chebyshev.T_two` * `polynomial.chebyshev₁_add_two` is now `polynomial.chebyshev.T_add_two` * `polynomial.chebyshev₁_of_two_le` is now `polynomial.chebyshev.T_of_two_le` * `polynomial.map_chebyshev₁` is now `polynomial.chebyshev.map_T` * `polynomial.chebyshev₂` is now `polynomial.chebyshev.U` * `polynomial.chebyshev₂_zero` is now `polynomial.chebyshev.U_zero` * `polynomial.chebyshev₂_one` is now `polynomial.chebyshev.U_one` * `polynomial.chebyshev₂_two` is now `polynomial.chebyshev.U_two` * `polynomial.chebyshev₂_add_two` is now `polynomial.chebyshev.U_add_two` * `polynomial.chebyshev₂_of_two_le` is now `polynomial.chebyshev.U_of_two_le` * `polynomial.chebyshev₂_eq_X_mul_chebyshev₂_add_chebyshev₁` is now `polynomial.chebyshev.U_eq_X_mul_U_add_T` * `polynomial.chebyshev₁_eq_chebyshev₂_sub_X_mul_chebyshev₂` is now `polynomial.chebyshev.T_eq_U_sub_X_mul_U` * `polynomial.chebyshev₁_eq_X_mul_chebyshev₁_sub_pol_chebyshev₂` is now `polynomial.chebyshev.T_eq_X_mul_T_sub_pol_U` * `polynomial.one_sub_X_pow_two_mul_chebyshev₂_eq_pol_in_chebyshev₁` is now `polynomial.chebyshev.one_sub_X_pow_two_mul_U_eq_pol_in_T` * `polynomial.map_chebyshev₂` is now `polynomial.chebyshev.map_U` * `polynomial.chebyshev₁_derivative_eq_chebyshev₂` is now `polynomial.chebyshev.T_derivative_eq_U` * `polynomial.one_sub_X_pow_two_mul_derivative_chebyshev₁_eq_poly_in_chebyshev₁` is now `polynomial.chebyshev.one_sub_X_pow_two_mul_derivative_T_eq_poly_in_T` * `polynomial.add_one_mul_chebyshev₁_eq_poly_in_chebyshev₂` is now `polynomial.chebyshev.add_one_mul_T_eq_poly_in_U` * `polynomial.mul_chebyshev₁` is now `polynomial.chebyshev.mul_T` * `polynomial.chebyshev₁_mul` is now `polynomial.chebyshev.T_mul` * `polynomial.dickson_one_one_eq_chebyshev₁` is now `polynomial.dickson_one_one_eq_chebyshev_T` * `polynomial.chebyshev₁_eq_dickson_one_one` is now `polynomial.chebyshev_T_eq_dickson_one_one` * `chebyshev₁_complex_cos` is now `polynomial.chebyshev.T_complex_cos` * `cos_nat_mul` is now `polynomial.chebyshev.cos_nat_mul` * `chebyshev₂_complex_cos` is now `polynomial.chebyshev.U_complex_cos` * `sin_nat_succ_mul` is now `polynomial.chebyshev.sin_nat_succ_mul` Co-authored-by: Julian-Kuelshammer <68201724+Julian-Kuelshammer@users.noreply.github.com>
1 parent 4bc6707 commit 4428243

File tree

3 files changed

+167
-208
lines changed

3 files changed

+167
-208
lines changed

src/analysis/special_functions/trigonometric.lean

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Many basic inequalities on trigonometric functions are established.
2626
The continuity and differentiability of the usual trigonometric functions are proved, and their
2727
derivatives are computed.
2828
29-
* `polynomial.chebyshev₁_complex_cos`: the `n`-th Chebyshev polynomial evaluates on `complex.cos θ`
29+
* `polynomial.chebyshev.T_complex_cos`: the `n`-th Chebyshev polynomial evaluates on `complex.cos θ`
3030
to the value `n * complex.cos θ`.
3131
3232
## Tags
@@ -2864,20 +2864,20 @@ lemma differentiable.clog {f : E → ℂ} (h₁ : differentiable ℂ f)
28642864

28652865
end log_deriv
28662866

2867-
section chebyshev
2867+
namespace polynomial.chebyshev
28682868

28692869
open polynomial complex
28702870

28712871
/-- The `n`-th Chebyshev polynomial of the first kind evaluates on `cos θ` to the
28722872
value `cos (n * θ)`. -/
2873-
lemma chebyshev₁_complex_cos (θ : ℂ) :
2874-
∀ n, (chebyshev₁ ℂ n).eval (cos θ) = cos (n * θ)
2875-
| 0 := by simp only [chebyshev₁_zero, eval_one, nat.cast_zero, zero_mul, cos_zero]
2876-
| 1 := by simp only [eval_X, one_mul, chebyshev₁_one, nat.cast_one]
2873+
lemma T_complex_cos (θ : ℂ) :
2874+
∀ n, (T ℂ n).eval (cos θ) = cos (n * θ)
2875+
| 0 := by simp only [T_zero, eval_one, nat.cast_zero, zero_mul, cos_zero]
2876+
| 1 := by simp only [eval_X, one_mul, T_one, nat.cast_one]
28772877
| (n + 2) :=
28782878
begin
2879-
simp only [eval_X, eval_one, chebyshev₁_add_two, eval_sub, eval_bit0, nat.cast_succ, eval_mul],
2880-
rw [chebyshev₁_complex_cos (n + 1), chebyshev₁_complex_cos n],
2879+
simp only [eval_X, eval_one, T_add_two, eval_sub, eval_bit0, nat.cast_succ, eval_mul],
2880+
rw [T_complex_cos (n + 1), T_complex_cos n],
28812881
have aux : sin θ * sin θ = 1 - cos θ * cos θ,
28822882
{ rw ← sin_sq_add_cos_sq θ, ring, },
28832883
simp only [nat.cast_add, nat.cast_one, add_mul, cos_add, one_mul, sin_add, mul_assoc, aux],
@@ -2887,24 +2887,18 @@ end
28872887
/-- `cos (n * θ)` is equal to the `n`-th Chebyshev polynomial of the first kind evaluated
28882888
on `cos θ`. -/
28892889
lemma cos_nat_mul (n : ℕ) (θ : ℂ) :
2890-
cos (n * θ) = (chebyshev₁ ℂ n).eval (cos θ) :=
2891-
(chebyshev₁_complex_cos θ n).symm
2892-
2893-
end chebyshev₁
2894-
2895-
section chebyshev₂
2896-
2897-
open polynomial complex
2890+
cos (n * θ) = (T ℂ n).eval (cos θ) :=
2891+
(T_complex_cos θ n).symm
28982892

28992893
/-- The `n`-th Chebyshev polynomial of the second kind evaluates on `cos θ` to the
29002894
value `sin ((n+1) * θ) / sin θ`. -/
2901-
lemma chebyshev₂_complex_cos (θ : ℂ) (n : ℕ) :
2902-
(chebyshev₂ ℂ n).eval (cos θ) * sin θ = sin ((n+1) * θ) :=
2895+
lemma U_complex_cos (θ : ℂ) (n : ℕ) :
2896+
(U ℂ n).eval (cos θ) * sin θ = sin ((n+1) * θ) :=
29032897
begin
29042898
induction n with d hd,
2905-
{ simp only [chebyshev₂_zero, nat.cast_zero, eval_one, mul_one, zero_add, one_mul] },
2906-
{ rw chebyshev₂_eq_X_mul_chebyshev₂_add_chebyshev₁,
2907-
simp only [eval_add, eval_mul, eval_X, chebyshev₁_complex_cos, add_mul, mul_assoc, hd, one_mul],
2899+
{ simp only [U_zero, nat.cast_zero, eval_one, mul_one, zero_add, one_mul] },
2900+
{ rw U_eq_X_mul_U_add_T,
2901+
simp only [eval_add, eval_mul, eval_X, T_complex_cos, add_mul, mul_assoc, hd, one_mul],
29082902
conv_rhs { rw [sin_add, mul_comm] },
29092903
push_cast,
29102904
simp only [add_mul, one_mul] }
@@ -2913,10 +2907,10 @@ end
29132907
/-- `sin ((n + 1) * θ)` is equal to `sin θ` multiplied with the `n`-th Chebyshev polynomial of the
29142908
second kind evaluated on `cos θ`. -/
29152909
lemma sin_nat_succ_mul (n : ℕ) (θ : ℂ) :
2916-
sin ((n + 1) * θ) = (chebyshev₂ ℂ n).eval (cos θ) * sin θ :=
2917-
(chebyshev₂_complex_cos θ n).symm
2910+
sin ((n + 1) * θ) = (U ℂ n).eval (cos θ) * sin θ :=
2911+
(U_complex_cos θ n).symm
29182912

2919-
end chebyshev
2913+
end polynomial.chebyshev
29202914

29212915
namespace real
29222916
open_locale real

0 commit comments

Comments
 (0)