Documentation

Atlas.IntroductionToPartialDifferentialEquations.code.CM9.WaveDalembert

theorem CM9.Wave.hasDerivAt_comp_add_right {f : } {x t : } (hF : DifferentiableAt f (x + t)) :
HasDerivAt (fun (s : ) => f (x + s)) (deriv f (x + t)) t

Chain rule helper: if $f$ is differentiable at $x + t$, then the map $s \mapsto f(x + s)$ has derivative $f'(x + t)$ at $t$.

theorem CM9.Wave.hasDerivAt_comp_sub_right {f : } {x t : } (hF : DifferentiableAt f (x - t)) :
HasDerivAt (fun (s : ) => f (x - s)) (-deriv f (x - t)) t

Chain rule helper: if $f$ is differentiable at $x - t$, then the map $s \mapsto f(x - s)$ has derivative $-f'(x - t)$ at $t$.

theorem CM9.Wave.hasDerivAt_comp_add_left {f : } {x t : } (hF : DifferentiableAt f (t + x)) :
HasDerivAt (fun (s : ) => f (s + x)) (deriv f (t + x)) t

Chain rule helper: if $f$ is differentiable at $t + x$, then $s \mapsto f(s + x)$ has derivative $f'(t + x)$ at $t$.

theorem CM9.Wave.hasDerivAt_comp_sub_left {f : } {x t : } (hF : DifferentiableAt f (t - x)) :
HasDerivAt (fun (s : ) => f (s - x)) (deriv f (t - x)) t

Chain rule helper: if $f$ is differentiable at $t - x$, then $s \mapsto f(s - x)$ has derivative $f'(t - x)$ at $t$.

A $C^2$ function is differentiable.

For a $C^2$ function $f$ on $\mathbb{R}$, the derivative $f'$ is also differentiable.

theorem CM9.Wave.contDiff_antideriv (g : ) (hg : ContDiff 1 g) :
ContDiff 2 fun (z : ) => (y : ) in 0..z, g y

The antiderivative $z \mapsto \int_0^z g(y) \, dy$ of a $C^1$ function $g$ is $C^2$ (one extra degree of smoothness from integration).

theorem CM9.Wave.general_solution_satisfies_wave_eq (F G : ) (hF : ContDiff 2 F) (hG : ContDiff 2 G) (t x : ) :
deriv (fun (t' : ) => deriv (fun (t'' : ) => F (x + t'') + G (x - t'')) t') t = deriv (fun (x' : ) => deriv (fun (x'' : ) => F (x'' + t) + G (x'' - t)) x') x

Any function of the form $u(t, x) = F(x + t) + G(x - t)$ with $F, G \in C^2$ solves the $1{+}1$ dimensional wave equation $u_{tt} = u_{xx}$. (Null decomposition / d'Alembert form.)

noncomputable def CM9.Wave.dAlembertFormula (f g : ) (t x : ) :

d'Alembert's formula for the $1{+}1$ wave equation with initial data $u(0, x) = f(x)$, $u_t(0, x) = g(x)$: $$u(t, x) = \tfrac{1}{2} (f(x + t) + f(x - t)) + \tfrac{1}{2} \int_{x - t}^{x + t} g(z) \, dz.$$

Instances For
    theorem CM9.Wave.dAlembert_regularity (f g : ) (hf : ContDiff 2 f) (hg : ContDiff 1 g) :
    ContDiff 2 fun (p : × ) => dAlembertFormula f g p.1 p.2

    Regularity for d'Alembert. If $f \in C^2(\mathbb{R})$ and $g \in C^1(\mathbb{R})$, then the function $(t, x) \mapsto u(t, x)$ defined by d'Alembert's formula is jointly $C^2$ on $\mathbb{R}^2$.

    theorem CM9.Wave.wave_uniqueness (u₁ u₂ : ) (h₁_reg : ContDiff 2 fun (p : × ) => u₁ p.1 p.2) (h₁_wave : ∀ (t x : ), deriv (fun (t' : ) => deriv (fun (t'' : ) => u₁ t'' x) t') t = deriv (fun (x' : ) => deriv (fun (x'' : ) => u₁ t x'') x') x) (h₂_reg : ContDiff 2 fun (p : × ) => u₂ p.1 p.2) (h₂_wave : ∀ (t x : ), deriv (fun (t' : ) => deriv (fun (t'' : ) => u₂ t'' x) t') t = deriv (fun (x' : ) => deriv (fun (x'' : ) => u₂ t x'') x') x) (h_pos : ∀ (x : ), u₁ 0 x = u₂ 0 x) (h_vel : ∀ (x : ), deriv (fun (t : ) => u₁ t x) 0 = deriv (fun (t : ) => u₂ t x) 0) (t x : ) :
    u₁ t x = u₂ t x

    Uniqueness for the $1{+}1$ wave equation. Two $C^2$ solutions of $u_{tt} = u_{xx}$ with the same initial position $u(0, \cdot)$ and initial velocity $u_t(0, \cdot)$ are identical on $\mathbb{R}^2$.

    theorem CM9.Wave.wave_null_decomposition (u : ) (hu_reg : ContDiff 2 fun (p : × ) => u p.1 p.2) (hu_wave : ∀ (t x : ), deriv (fun (t' : ) => deriv (fun (t'' : ) => u t'' x) t') t = deriv (fun (x' : ) => deriv (fun (x'' : ) => u t x'') x') x) :
    ∃ (F : ) (G : ), ContDiff 2 F ContDiff 2 G ∀ (t x : ), u t x = F (x + t) + G (x - t)

    Null decomposition of any $C^2$ solution of the wave equation: there exist $C^2$ functions $F, G : \mathbb{R} \to \mathbb{R}$ such that $u(t, x) = F(x + t) + G(x - t)$.

    theorem CM9.Wave.hasDerivAt_F_of_null_decomp (f g F G : ) (hf : ContDiff 2 f) (_hg : ContDiff 1 g) (hFd : Differentiable F) (hFG_init_pos : ∀ (x : ), F x + G x = f x) (hFG_init_vel : ∀ (x : ), HasDerivAt (fun (t : ) => F (x + t) + G (x - t)) (g x) 0) (x : ) :
    HasDerivAt F ((deriv f x + g x) / 2) x

    Given a null decomposition $u(t, x) = F(x + t) + G(x - t)$ matching initial data $u(0, \cdot) = f$ and $u_t(0, \cdot) = g$, one obtains the explicit formula $F'(x) = \tfrac{1}{2}(f'(x) + g(x))$.

    theorem CM9.Wave.null_decomposition_determines_dAlembert (f g F G : ) (hf : ContDiff 2 f) (hg : ContDiff 1 g) (hFd : Differentiable F) (hFG_init_pos : ∀ (x : ), F x + G x = f x) (hFG_init_vel : ∀ (x : ), HasDerivAt (fun (t : ) => F (x + t) + G (x - t)) (g x) 0) (t x : ) :
    F (x + t) + G (x - t) = dAlembertFormula f g t x

    Any null decomposition $F(x + t) + G(x - t)$ matching the initial data $(f, g)$ coincides pointwise with d'Alembert's formula. Combined with the existence of such a decomposition (wave_null_decomposition), this gives the explicit formula for any wave-equation solution.

    theorem CM9.Wave.dAlembert_uniqueness (f g : ) (u : ) (hf : ContDiff 2 f) (hg : ContDiff 1 g) (hu_reg : ContDiff 2 fun (p : × ) => u p.1 p.2) (hu_wave : ∀ (t x : ), deriv (fun (t' : ) => deriv (fun (t'' : ) => u t'' x) t') t = deriv (fun (x' : ) => deriv (fun (x'' : ) => u t x'') x') x) (hu_init_pos : ∀ (x : ), u 0 x = f x) (hu_init_vel : ∀ (x : ), HasDerivAt (fun (t : ) => u t x) (g x) 0) (t x : ) :
    u t x = dAlembertFormula f g t x

    Theorem 4.1 (d'Alembert's formula). Let $f \in C^2(\mathbb{R})$ and $g \in C^1(\mathbb{R})$. Any $C^2$ solution $u(t, x)$ of the $1{+}1$ dimensional wave equation $u_{tt} = u_{xx}$ with initial data $u(0, x) = f(x)$ and $u_t(0, x) = g(x)$ is given by d'Alembert's formula: $$u(t, x) = \tfrac{1}{2}(f(x + t) + f(x - t)) + \tfrac{1}{2} \int_{x - t}^{x + t} g(z) \, dz.$$