Documentation

RadiiPolynomial.squareRoot

One-Dimensional Continuous Linear Maps #

In the one-dimensional case ℝ →L[ℝ] ℝ, every continuous linear map is scalar multiplication by some constant a ∈ ℝ.

smul,scalar multiplication, typeclass behind in LEAN. We define smulCLM a as the continuous linear map x ↦ a·x. First we establish key properties:

These lemmas enable working with the radii polynomial theorem in , where the approximate inverse A and derivative Df(x̄) are both scalar CLMs.

@[reducible, inline]
noncomputable abbrev smulCLM (a : ) :

A scalar as a continuous linear map ℝ →L[ℝ] ℝ.

For a ∈ ℝ, smulCLM a is the map x ↦ a·x

This is noncomputable because of ℝ.

Equations
Instances For
    @[simp]
    theorem smulCLM_apply (a x : ) :
    (smulCLM a) x = a * x

    Evaluation: (smulCLM a)(x) = a * x

    theorem norm_smulCLM (a : ) :

    Operator norm of scalar multiplication equals absolute value.

    ‖smulCLM a‖_{op} = |a|

    This is the key fact enabling norm computations in 1D.

    The identity map is smulCLM 1

    theorem smulCLM_comp (a b : ) :
    (smulCLM a).comp (smulCLM b) = smulCLM (a * b)

    Composition of scalar CLMs is multiplication of scalars.

    (smulCLM a) ∘ (smulCLM b) = smulCLM (a * b)

    Used to compute A ∘ Df(x̄) when both are scalar multiplications.

    theorem smulCLM_sub (a b : ) :

    Subtraction of scalar CLMs.

    smulCLM a - smulCLM b = smulCLM (a - b)

    Used to compute Df(c) - Df(x̄) = smulCLM(2c) - smulCLM(2x̄) = smulCLM(2(c - x̄)).

    Identity minus scalar CLM.

    I - smulCLM a = smulCLM (1 - a)

    Used to compute I - A∘Df(x̄) for the Z₀ bound.

    theorem smulCLM_injective {a : } (ha : a 0) :

    Injectivity of scalar multiplication.

    smulCLM a is injective iff a ≠ 0.

    Required hypothesis for Proposition 2.3.1 (fixed point ↔ zero equivalence).

    Fréchet Derivatives #

    For f(x) = x² - 2, we have Df(x) = smulCLM (2x).

    theorem fderiv_sq (x : ) :
    fderiv (fun (y : ) => y ^ 2) x = smulCLM (2 * x)

    The Fréchet derivative of x² at x is multiplication by 2x.

    For f(y) = y², we have Df(x) : v ↦ 2x·v, i.e., Df(x) = smulCLM(2x).

    This follows from the power rule: D[y^n] = n·y^(n-1)·id.

    theorem fderiv_sq_sub_const (x c : ) :
    fderiv (fun (y : ) => y ^ 2 - c) x = smulCLM (2 * x)

    The Fréchet derivative of x² - c

    theorem differentiable_sq_sub_const (c : ) :
    Differentiable fun (y : ) => y ^ 2 - c

    Example 2.4.5: Bounds Verification #

    All bounds use exact rational arithmetic for formal verification.

    Parameter definitions #

    @[reducible, inline]
    noncomputable abbrev ex_f :
    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev ex_xBar :
      Equations
      Instances For
        @[reducible, inline]
        noncomputable abbrev ex_A :
        Equations
        Instances For
          @[reducible, inline]
          noncomputable abbrev ex_Y₀ :
          Equations
          Instances For
            @[reducible, inline]
            noncomputable abbrev ex_Z₀ :
            Equations
            Instances For
              @[reducible, inline]
              noncomputable abbrev ex_Z₂ :
              Equations
              Instances For
                @[reducible, inline]
                noncomputable abbrev ex_r₀ :
                Equations
                Instances For

                  Bound verification lemmas #

                  eq. 2.14: ‖A(f(x̄))‖ ≤ Y₀

                  eq. 2.15: ‖I - A ∘ Df(x̄)‖ ≤ Z₀

                  eq. 2.16: ‖A ∘ [Df(c) - Df(x̄)]‖ ≤ Z₂(r) · r for c ∈ B̄ᵣ(x̄)

                  The radii polynomial is negative at r₀ = 0.15

                  theorem ex_r₀_pos :

                  r₀ is positive

                  A is injective

                  f is differentiable

                  Main Theorem Application #

                  Apply simple_radii_polynomial_theorem_same_space from RadiiPolyGeneral.

                  Elements in the ball are positive (ball is [1.15, 1.45])

                  theorem fderiv_invertible_of_pos {y : } (hy : 0 < y) :

                  Df(y) is invertible when y > 0

                  Example 2.4.5: There exists a unique x̃ ∈ B̄_{3/20}(13/10) with x̃² = 2.

                  Furthermore, Df(x̃) is invertible, so x̃ is a nondegenerate zero.

                  Corollary: The zero is √2 (or -√2, but our ball only contains √2)