Documentation

Analysis.Section_7_2

Definition 7.2.1 (Formal infinite series). This is similar to Chapter 6 sequence, but is manipulated differently. As with Chapter 5, we will start series from 0 by default.

Instances For
    theorem Chapter7.Series.ext_iff {x y : Series} :
    x = y ↔ x.m = y.m ∧ x.seq = y.seq
    theorem Chapter7.Series.ext {x y : Series} (m : x.m = y.m) (seq : x.seq = y.seq) :
    x = y
    @[implicit_reducible]

    Functions from ℕ to ℝ can be thought of as series.

    Equations
    @[simp]
    theorem Chapter7.Series.eval_coe (a : ℕ → ℝ) (n : ℕ) :
    { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then a n.toNat else 0, vanish := ⋯ }.seq ↑n = a n
    @[reducible, inline]
    abbrev Chapter7.Series.mk' {m : ℤ} (a : { n : ℤ // n ≥ m } → ℝ) :
    Equations
    Instances For
      theorem Chapter7.Series.eval_mk' {m : ℤ} (a : { n : ℤ // n ≥ m } → ℝ) {n : ℤ} (h : n ≥ m) :
      (mk' a).seq n = a ⟨n, h⟩
      @[reducible, inline]
      noncomputable abbrev Chapter7.Series.partial (s : Series) (N : ℤ) :

      Definition 7.2.2 (Convergence of series)

      Equations
      Instances For
        theorem Chapter7.Series.partial_succ (s : Series) {N : ℤ} (h : N ≥ s.m - 1) :
        s.partial (N + 1) = s.partial N + s.seq (N + 1)
        theorem Chapter7.Series.partial_of_lt {s : Series} {N : ℤ} (h : N < s.m) :
        s.partial N = 0
        @[reducible, inline]
        Equations
        Instances For
          @[reducible, inline]
          Equations
          Instances For
            @[reducible, inline]
            Equations
            Instances For
              @[reducible, inline]
              noncomputable abbrev Chapter7.Series.sum (s : Series) :
              Equations
              Instances For
                theorem Chapter7.Series.sum_of_converges {s : Series} {L : ℝ} (h : s.convergesTo L) :
                s.sum = L

                Remark 7.2.3

                theorem Chapter7.Series.convergesTo_uniq {s : Series} {L L' : ℝ} (h : s.convergesTo L) (h' : s.convergesTo L') :
                L = L'
                @[reducible, inline]

                Example 7.2.4

                Equations
                Instances For
                  @[reducible, inline]
                  Equations
                  Instances For
                    theorem Chapter7.Series.example_7_2_4'a {N : ℤ} (hN : N ≥ 1) :
                    example_7_2_4'.partial N = 2 ^ (N + 1) - 2
                    theorem Chapter7.Series.converges_iff_tail_decay (s : Series) :
                    s.converges ↔ ∀ ε > 0, ∃ N ≥ s.m, ∀ p ≥ N, ∀ q ≥ N, |∑ n ∈ Finset.Icc p q, s.seq n| ≤ ε

                    Proposition 7.2.5 / Exercise 7.2.2

                    Corollary 7.2.6 (Zero test) / Exercise 7.2.3

                    theorem Chapter7.Series.example_7_2_7 :
                    { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then (fun (x : ℕ) => 1) n.toNat else 0, vanish := ⋯ }.diverges

                    Example 7.2.7

                    theorem Chapter7.Series.example_7_2_7' :
                    { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then (fun (n : ℕ) => (-1) ^ n) n.toNat else 0, vanish := ⋯ }.diverges
                    @[reducible, inline]

                    Definition 7.2.8 (Absolute convergence)

                    Equations
                    Instances For
                      @[reducible, inline]
                      Equations
                      Instances For
                        @[reducible, inline]
                        Equations
                        Instances For

                          Proposition 7.2.9 (Absolute convergence test) / Exercise 7.2.4

                          theorem Chapter7.Series.converges_of_alternating {m : ℤ} {a : { n : ℤ // n ≥ m } → ℝ} (ha : ∀ (n : { n : ℤ // n ≥ m }), a n ≥ 0) (ha' : Antitone a) :
                          (mk' fun (n : { n : ℤ // n ≥ m }) => (-1) ^ ↑n * a n).converges ↔ Filter.Tendsto a Filter.atTop (nhds 0)

                          Proposition 7.2.12 (Alternating series test)

                          @[reducible, inline]

                          Example 7.2.13

                          Equations
                          Instances For
                            @[implicit_reducible]
                            Equations
                            theorem Chapter7.Series.add_coe (a b : ℕ → ℝ) :
                            { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then a n.toNat else 0, vanish := ⋯ } + { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then b n.toNat else 0, vanish := ⋯ } = { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then (fun (n : ℕ) => a n + b n) n.toNat else 0, vanish := ⋯ }
                            theorem Chapter7.Series.convergesTo.add {s t : Series} {L M : ℝ} (hs : s.convergesTo L) (ht : t.convergesTo M) :
                            (s + t).convergesTo (L + M)

                            Proposition 7.2.14 (a) (Series laws) / Exercise 7.2.5. The convergesTo form can be more convenient for applications.

                            theorem Chapter7.Series.add {s t : Series} (hs : s.converges) (ht : t.converges) :
                            (s + t).converges ∧ (s + t).sum = s.sum + t.sum
                            @[implicit_reducible]
                            Equations
                            theorem Chapter7.Series.smul_coe (a : ℕ → ℝ) (c : ℝ) :
                            c • { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then a n.toNat else 0, vanish := ⋯ } = { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then (fun (n : ℕ) => c * a n) n.toNat else 0, vanish := ⋯ }
                            theorem Chapter7.Series.convergesTo.smul {s : Series} {L c : ℝ} (hs : s.convergesTo L) :
                            (c • s).convergesTo (c * L)

                            Proposition 7.2.14 (b) (Series laws) / Exercise 7.2.5. The convergesTo form can be more convenient for applications.

                            theorem Chapter7.Series.smul {c : ℝ} {s : Series} (hs : s.converges) :
                            (c • s).converges ∧ (c • s).sum = c * s.sum
                            @[implicit_reducible]

                            The corresponding API for subtraction was not in the textbook, but is useful in later sections, so is included here.

                            Equations
                            theorem Chapter7.Series.sub_coe (a b : ℕ → ℝ) :
                            { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then a n.toNat else 0, vanish := ⋯ } - { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then b n.toNat else 0, vanish := ⋯ } = { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then (fun (n : ℕ) => a n - b n) n.toNat else 0, vanish := ⋯ }
                            theorem Chapter7.Series.convergesTo.sub {s t : Series} {L M : ℝ} (hs : s.convergesTo L) (ht : t.convergesTo M) :
                            (s - t).convergesTo (L - M)
                            theorem Chapter7.Series.sub {s t : Series} (hs : s.converges) (ht : t.converges) :
                            (s - t).converges ∧ (s - t).sum = s.sum - t.sum
                            @[reducible, inline]
                            abbrev Chapter7.Series.from (s : Series) (m₁ : ℤ) :
                            Equations
                            Instances For
                              theorem Chapter7.Series.converges_from (s : Series) (k : ℕ) :
                              s.converges ↔ (s.from (s.m + ↑k)).converges

                              Proposition 7.2.14 (c) (Series laws) / Exercise 7.2.5

                              theorem Chapter7.Series.sum_from {s : Series} (k : ℕ) (h : s.converges) :
                              s.sum = ∑ n ∈ Finset.Ico s.m (s.m + ↑k), s.seq n + (s.from (s.m + ↑k)).sum
                              theorem Chapter7.Series.shift {s : Series} {x : ℝ} (h : s.convergesTo x) (L : ℤ) :
                              (mk' fun (n : { n : ℤ // n ≥ s.m + L }) => s.seq (↑n - L)).convergesTo x

                              Proposition 7.2.14 (d) (Series laws) / Exercise 7.2.5

                              theorem Chapter7.Series.telescope {a : ℕ → ℝ} (ha : Filter.Tendsto a Filter.atTop (nhds 0)) :
                              { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then (fun (n : ℕ) => a n - a (n + 1)) n.toNat else 0, vanish := ⋯ }.convergesTo (a 0)

                              Lemma 7.2.15 (telescoping series) / Exercise 7.2.6

                              Exercise 7.2.1

                              Equations
                              Instances For