Documentation

Atlas.DifferentialAnalysis.code.DistributionalKernels2

The size |γ| = ∑ γ i of a multi-index γ : Fin n → ℕ.

Instances For

    The finite set of multi-indices α that are componentwise at most γ.

    Instances For

      The m-fold distributional partial derivative in coordinate j, acting on a tempered distribution.

      Instances For

        The multi-index distributional derivative D^γ v, taken coordinate by coordinate.

        Instances For

          Multiplication of a tempered distribution by the power ⟨x⟩^k of the Japanese bracket.

          Instances For

            Multiplication of a tempered distribution by a real polynomial evaluated at x.

            Instances For
              noncomputable def DistributionalKernels.weightedDerivRHS {n : } {F : Type u_1} [NormedAddCommGroup F] [NormedSpace F] (γ : Fin n) (k : ) (coeffs : (Fin n)MvPolynomial (Fin n) ) (v : TemperedDistribution (EuclideanSpace (Fin n)) F) :

              The right-hand side of the Leibniz expansion D^γ (p ⟨x⟩^k v): a sum over α ≤ γ of D^{γ-α} applied to polynomial-times-bracket-power multiples of v.

              Instances For

                D^0 v = v: the zero multi-index derivative is the identity.

                Multiplication by the constant polynomial 1 leaves a tempered distribution unchanged.

                For γ = 0, the set of multi-indices α ≤ γ is the singleton {0}.

                Zero iterations of a coordinate derivative leave the distribution unchanged.

                Inductive step: (m + 1) iterations equal one iteration applied to m iterations.

                The zero multi-index has size zero.

                theorem DistributionalKernels.weightedDerivRHS_zero_eq {n : } {F : Type u_2} [NormedAddCommGroup F] [NormedSpace F] (k : ) (p : MvPolynomial (Fin n) ) (coeffs : (Fin n)MvPolynomial (Fin n) ) (hc : coeffs 0 = p) (v : TemperedDistribution (EuclideanSpace (Fin n)) F) :

                For γ = 0, the weighted derivative RHS reduces to plain polynomial-times-bracket multiplication.

                Single applications of ∂_{j₀} and ∂_j commute.

                ∂_{j₀} commutes with ∂_j^m for any m.

                theorem DistributionalKernels.iterCoordDeriv_one_comm_foldl {n : } {F : Type u_2} [NormedAddCommGroup F] [NormedSpace F] (j₀ : Fin n) (γ : Fin n) (l : List (Fin n)) (v : TemperedDistribution (EuclideanSpace (Fin n)) F) :
                iterCoordDeriv j₀ 1 (List.foldl (fun (w : TemperedDistribution (EuclideanSpace (Fin n)) F) (j : Fin n) => iterCoordDeriv j (γ j) w) v l) = List.foldl (fun (w : TemperedDistribution (EuclideanSpace (Fin n)) F) (j : Fin n) => iterCoordDeriv j (γ j) w) (iterCoordDeriv j₀ 1 v) l

                ∂_{j₀} commutes with any foldl of iterated coordinate derivatives.

                theorem DistributionalKernels.multiIndexDistribDeriv_step {n : } {F : Type u_2} [NormedAddCommGroup F] [NormedSpace F] (γ : Fin n) (j₀ : Fin n) (hj₀ : 0 < γ j₀) (v : TemperedDistribution (EuclideanSpace (Fin n)) F) :

                Recursive step: peel off one factor of ∂_{j₀} from D^γ, reducing γ_{j₀} by one.

                Schwartz product rule for p · ⟨x⟩^k · ∂_{j₀} u: derivative is split between the polynomial-bracket factor and u.

                Expansion of p · ⟨x⟩^k · ∂_{j₀} u via the polynomial-bracket Schwartz product rule, with an explicit degree bound.

                theorem DistributionalKernels.weightedDerivRHS_combine {n : } (γ γ' : Fin n) (j₀ : Fin n) (hj₀ : 0 < γ j₀) (hγ' : γ' = Function.update γ j₀ (γ j₀ - 1)) (j : ) (c₁ : (Fin n)MvPolynomial (Fin n) ) (hd₁ : αγ', (c₁ α).totalDegree j + multiIndexSize (γ' - α)) (hz₁ : ∀ (α : Fin n), ¬α γ'c₁ α = 0) (c₂ : (Fin n)MvPolynomial (Fin n) ) (hd₂ : αγ', (c₂ α).totalDegree j + 1 + multiIndexSize (γ' - α)) (hz₂ : ∀ (α : Fin n), ¬α γ'c₂ α = 0) :
                ∃ (coeffs : (Fin n)MvPolynomial (Fin n) ), (∀ αγ, (coeffs α).totalDegree j + multiIndexSize (γ - α)) (∀ (α : Fin n), ¬α γcoeffs α = 0) ∀ (F : Type u_2) [inst : NormedAddCommGroup F] [inst_1 : NormedSpace F] (k : ) (v : TemperedDistribution (EuclideanSpace (Fin n)) F), iterCoordDeriv j₀ 1 (weightedDerivRHS γ' k c₁ v) - weightedDerivRHS γ' (k - 2) c₂ v = weightedDerivRHS γ k coeffs v

                Combine two weightedDerivRHS expansions for γ' = γ-with-γ_{j₀}-1 into a single expansion for γ.

                theorem DistributionalKernels.weighted_deriv_expansion_assemble {n : } (γ : Fin n) (j : ) (p : MvPolynomial (Fin n) ) (hp : p.totalDegree j) (j₀ : Fin n) (hj₀ : 0 < γ j₀) (γ' : Fin n) (hγ'_def : γ' = Function.update γ j₀ (γ j₀ - 1)) (c₁ : (Fin n)MvPolynomial (Fin n) ) (hd₁ : αγ', (c₁ α).totalDegree j + multiIndexSize (γ' - α)) (hz₁ : ∀ (α : Fin n), ¬α γ'c₁ α = 0) (c₂ : (Fin n)MvPolynomial (Fin n) ) (hd₂ : αγ', (c₂ α).totalDegree j + 1 + multiIndexSize (γ' - α)) (hz₂ : ∀ (α : Fin n), ¬α γ'c₂ α = 0) :
                ∃ (coeffs : (Fin n)MvPolynomial (Fin n) ), (∀ αγ, (coeffs α).totalDegree j + multiIndexSize (γ - α)) (∀ (α : Fin n), ¬α γcoeffs α = 0) ∀ (F : Type u_2) [inst : NormedAddCommGroup F] [inst_1 : NormedSpace F] (k : ) (v : TemperedDistribution (EuclideanSpace (Fin n)) F), iterCoordDeriv j₀ 1 (weightedDerivRHS γ' k c₁ v) - weightedDerivRHS γ' (k - 2) c₂ v = weightedDerivRHS γ k coeffs v

                Assembly of the inductive step for the weighted derivative expansion (just weightedDerivRHS_combine repackaged with the polynomial hypothesis).

                theorem DistributionalKernels.weighted_deriv_expansion {n : } (γ : Fin n) (j : ) (p : MvPolynomial (Fin n) ) (hp : p.totalDegree j) :
                ∃ (coeffs : (Fin n)MvPolynomial (Fin n) ), (∀ αγ, (coeffs α).totalDegree j + multiIndexSize (γ - α)) (∀ (α : Fin n), ¬α γcoeffs α = 0) ∀ (F : Type u_2) [inst : NormedAddCommGroup F] [inst_1 : NormedSpace F] (k : ) (v : TemperedDistribution (EuclideanSpace (Fin n)) F), distribMulPoly p (distribMulBracketPow k (multiIndexDistribDeriv γ v)) = weightedDerivRHS γ k coeffs v

                Full Leibniz-type expansion p · ⟨x⟩^k · D^γ v = ∑_{α ≤ γ} D^{γ-α} (coeffs α · ⟨x⟩^{k - 2|γ-α|} v) with polynomial degree bounds.

                theorem DistributionalKernels.weighted_deriv_expansion_base {n : } (γ : Fin n) :
                ∃ (coeffs : (Fin n)MvPolynomial (Fin n) ), (∀ αγ, (coeffs α).totalDegree multiIndexSize (γ - α)) (∀ (α : Fin n), ¬α γcoeffs α = 0) ∀ (F : Type u_2) [inst : NormedAddCommGroup F] [inst_1 : NormedSpace F] (k : ) (v : TemperedDistribution (EuclideanSpace (Fin n)) F), distribMulBracketPow k (multiIndexDistribDeriv γ v) = weightedDerivRHS γ k coeffs v

                Base case p = 1: ⟨x⟩^k · D^γ v = ∑_{α ≤ γ} D^{γ-α}(coeffs α · ⟨x⟩^{k - 2|γ-α|} v).