Documentation

Mathlib.Analysis.SpecialFunctions.Trigonometric.Chebyshev.RootsExtrema

Chebyshev polynomials over the reals: roots and extrema #

Main statements #

theorem Polynomial.Chebyshev.eval_T_real_mem_Icc (n : ) {x : } (hx : x Set.Icc (-1) 1) :
eval x (T n) Set.Icc (-1) 1
theorem Polynomial.Chebyshev.one_le_eval_T_real (n : ) {x : } (hx : 1 x) :
1 eval x (T n)
theorem Polynomial.Chebyshev.one_lt_eval_T_real {n : } (hn : n 0) {x : } (hx : 1 < x) :
1 < eval x (T n)
theorem Polynomial.Chebyshev.one_lt_negOnePow_mul_eval_T_real {n : } (hn : n 0) {x : } (hx : x < -1) :
1 < n.negOnePow * eval x (T n)
theorem Polynomial.Chebyshev.one_lt_abs_eval_T_real {n : } (hn : n 0) {x : } (hx : 1 < |x|) :
1 < |eval x (T n)|
theorem Polynomial.Chebyshev.abs_eval_T_real_eq_one_iff {n : } (hn : n 0) (x : ) :
|eval x (T n)| = 1 kn, x = Real.cos (k * Real.pi / n)
theorem Polynomial.Chebyshev.eval_T_real_cos_int_mul_pi_div {k n : } (hn : n 0) :
eval (Real.cos (k * Real.pi / n)) (T n) = (↑k).negOnePow
theorem Polynomial.Chebyshev.eval_T_real_eq_one_iff {n : } (hn : n 0) (x : ) :
eval x (T n) = 1 kn, Even k x = Real.cos (k * Real.pi / n)
theorem Polynomial.Chebyshev.eval_T_real_eq_neg_one_iff {n : } (hn : n 0) (x : ) :
eval x (T n) = -1 kn, Odd k x = Real.cos (k * Real.pi / n)
theorem Polynomial.Chebyshev.roots_T_real_nodup (n : ) :
(Multiset.map (fun (k : ) => Real.cos ((2 * k + 1) * Real.pi / (2 * n))) (Multiset.range n)).Nodup
theorem Polynomial.Chebyshev.roots_T_real (n : ) :
(T n).roots = (Finset.image (fun (k : ) => Real.cos ((2 * k + 1) * Real.pi / (2 * n))) (Finset.range n)).val
theorem Polynomial.Chebyshev.rootMultiplicity_T_real {n k : } (hk : k < n) :
rootMultiplicity (Real.cos ((2 * k + 1) * Real.pi / (2 * n))) (T n) = 1
theorem Polynomial.Chebyshev.roots_U_real (n : ) :
(U n).roots = (Finset.image (fun (k : ) => Real.cos ((k + 1) * Real.pi / (n + 1))) (Finset.range n)).val
theorem Polynomial.Chebyshev.rootMultiplicity_U_real {n k : } (hk : k < n) :
rootMultiplicity (Real.cos ((k + 1) * Real.pi / (n + 1))) (U n) = 1
theorem Polynomial.Chebyshev.isLocalMax_T_real {n k : } (hn : n 0) (hk₀ : 0 < k) (hk₁ : k < n) (hk₂ : Even k) :
IsLocalMax (fun (x : ) => eval x (T n)) (Real.cos (k * Real.pi / n))
theorem Polynomial.Chebyshev.isLocalMin_T_real {n k : } (hn : n 0) (hk₁ : k < n) (hk₂ : Odd k) :
IsLocalMin (fun (x : ) => eval x (T n)) (Real.cos (k * Real.pi / n))
theorem Polynomial.Chebyshev.isLocalExtr_T_real {n k : } (hn : n 0) (hk₀ : 0 < k) (hk₁ : k < n) :
IsLocalExtr (fun (x : ) => eval x (T n)) (Real.cos (k * Real.pi / n))
theorem Polynomial.Chebyshev.isLocalExtr_T_real_iff {n : } (hn : 2 n) (x : ) :
IsLocalExtr (fun (x : ) => eval x (T n)) x kFinset.Ioo 0 n, x = Real.cos (k * Real.pi / n)
theorem Polynomial.Chebyshev.isMaxOn_T_real {n k : } (hn : n 0) (hk₁ : k n) (hk₂ : Even k) :
IsMaxOn (fun (x : ) => eval x (T n)) (Set.Icc (-1) 1) (Real.cos (k * Real.pi / n))
theorem Polynomial.Chebyshev.isMinOn_T_real {n k : } (hn : n 0) (hk₁ : k n) (hk₂ : Odd k) :
IsMinOn (fun (x : ) => eval x (T n)) (Set.Icc (-1) 1) (Real.cos (k * Real.pi / n))
theorem Polynomial.Chebyshev.isExtrOn_T_real {n k : } (hn : n 0) (hk : k n) :
IsExtrOn (fun (x : ) => eval x (T n)) (Set.Icc (-1) 1) (Real.cos (k * Real.pi / n))
theorem Polynomial.Chebyshev.isExtrOn_T_real_iff {n : } (hn : n 0) {x : } (hx : x Set.Icc (-1) 1) :
IsExtrOn (fun (x : ) => eval x (T n)) (Set.Icc (-1) 1) x kn, x = Real.cos (k * Real.pi / n)