|
| 1 | +/- |
| 2 | +Copyright (c) 2021 Heather Macbeth. All rights reserved. |
| 3 | +Released under Apache 2.0 license as described in the file LICENSE. |
| 4 | +Authors: Heather Macbeth |
| 5 | +-/ |
| 6 | +import measure_theory.l2_space |
| 7 | +import measure_theory.haar_measure |
| 8 | +import geometry.manifold.instances.circle |
| 9 | + |
| 10 | +/-! |
| 11 | +
|
| 12 | +# Fourier analysis on the circle |
| 13 | +
|
| 14 | +This file contains some first steps towards Fourier series. |
| 15 | +
|
| 16 | +## Main definitions |
| 17 | +
|
| 18 | +* `haar_circle`, Haar measure on the circle, normalized to have total measure `1` |
| 19 | +* instances `measure_space`, `probability_measure` for the circle with respect to this measure |
| 20 | +* for `n : ℤ`, `fourier n` is the monomial `λ z, z ^ n`, bundled as a continuous map from `circle` |
| 21 | + to `ℂ` |
| 22 | +
|
| 23 | +## Main statements |
| 24 | +
|
| 25 | +The theorem `orthonormal_fourier` states that the functions `fourier n`, when sent via |
| 26 | +`continuous_map.to_Lp` to the L^2 space on the circle, form an orthonormal set. |
| 27 | +
|
| 28 | +## TODO |
| 29 | +
|
| 30 | +* Show that `submodule.span fourier` is dense in `C(circle, ℂ)`, i.e. that its |
| 31 | + `submodule.topological_closure` is `⊤`. This follows from the Stone-Weierstrass theorem after |
| 32 | + checking that it is a subalgebra, closed under conjugation, and separates points. |
| 33 | +* Show that the image of `submodule.span fourier` under `continuous_map.to_Lp` is dense in the |
| 34 | + `L^2` space on the circle, and thus that the functions `fourier` form a Hilbert basis. This |
| 35 | + follows from the previous result using general theory on approximation by continuous functions. |
| 36 | +
|
| 37 | +-/ |
| 38 | + |
| 39 | +noncomputable theory |
| 40 | +open topological_space continuous_map measure_theory measure_theory.measure |
| 41 | + |
| 42 | +local attribute [instance] fact_one_le_two_ennreal |
| 43 | + |
| 44 | +section haar_circle |
| 45 | +/-! We make the circle into a measure space, using the Haar measure normalized to have total |
| 46 | +measure 1. -/ |
| 47 | + |
| 48 | +instance : measurable_space circle := borel circle |
| 49 | +instance : borel_space circle := ⟨rfl⟩ |
| 50 | + |
| 51 | +/-- Haar measure on the circle, normalized to have total measure 1. -/ |
| 52 | +def haar_circle : measure circle := haar_measure positive_compacts_univ |
| 53 | + |
| 54 | +instance : probability_measure haar_circle := ⟨haar_measure_self⟩ |
| 55 | + |
| 56 | +instance : measure_space circle := |
| 57 | +{ volume := haar_circle, |
| 58 | + .. circle.measurable_space } |
| 59 | + |
| 60 | +end haar_circle |
| 61 | + |
| 62 | +section fourier |
| 63 | + |
| 64 | +/-- The family of monomials `λ z, z ^ n`, parametrized by `n : ℤ` and considered as bundled |
| 65 | +continuous maps from `circle` to `ℂ`. -/ |
| 66 | +@[simps] def fourier (n : ℤ) : C(circle, ℂ) := |
| 67 | +{ to_fun := λ z, z ^ n, |
| 68 | + continuous_to_fun := continuous_subtype_coe.fpow nonzero_of_mem_circle n } |
| 69 | + |
| 70 | +@[simp] lemma fourier_zero {z : circle} : fourier 0 z = 1 := rfl |
| 71 | + |
| 72 | +@[simp] lemma fourier_neg {n : ℤ} {z : circle} : fourier (-n) z = complex.conj (fourier n z) := |
| 73 | +by simp [← coe_inv_circle_eq_conj z] |
| 74 | + |
| 75 | +@[simp] lemma fourier_add {m n : ℤ} {z : circle} : |
| 76 | + fourier (m + n) z = (fourier m z) * (fourier n z) := |
| 77 | +by simp [fpow_add (nonzero_of_mem_circle z)] |
| 78 | + |
| 79 | +/-- For `n ≠ 0`, a rotation by `n⁻¹ * real.pi` negates the monomial `z ^ n`. -/ |
| 80 | +lemma fourier_add_half_inv_index {n : ℤ} (hn : n ≠ 0) (z : circle) : |
| 81 | + fourier n ((exp_map_circle (n⁻¹ * real.pi) * z)) = - fourier n z := |
| 82 | +begin |
| 83 | + have : ↑n * ((↑n)⁻¹ * ↑real.pi * complex.I) = ↑real.pi * complex.I, |
| 84 | + { have : (n:ℂ) ≠ 0 := by exact_mod_cast hn, |
| 85 | + field_simp, |
| 86 | + ring }, |
| 87 | + simp [mul_fpow, ← complex.exp_int_mul, complex.exp_pi_mul_I, this] |
| 88 | +end |
| 89 | + |
| 90 | +/-- The monomials `z ^ n` are an orthonormal set with respect to Haar measure on the circle. -/ |
| 91 | +lemma orthonormal_fourier : orthonormal ℂ (λ n, to_Lp 2 haar_circle ℂ (fourier n)) := |
| 92 | +begin |
| 93 | + rw orthonormal_iff_ite, |
| 94 | + intros i j, |
| 95 | + rw continuous_map.inner_to_Lp haar_circle (fourier i) (fourier j), |
| 96 | + split_ifs, |
| 97 | + { simp [h, probability_measure.measure_univ, ← fourier_neg, ← fourier_add, -fourier_to_fun] }, |
| 98 | + simp only [← fourier_add, ← fourier_neg, is_R_or_C.conj_to_complex], |
| 99 | + have hij : -i + j ≠ 0, |
| 100 | + { rw add_comm, |
| 101 | + exact sub_ne_zero.mpr (ne.symm h) }, |
| 102 | + exact integral_zero_of_mul_left_eq_neg (is_mul_left_invariant_haar_measure _) |
| 103 | + (fourier_add_half_inv_index hij) |
| 104 | +end |
| 105 | + |
| 106 | +end fourier |
0 commit comments