Documentation

Atlas.DifferentialAnalysis.code.PolyReciprocalFrechetBound

theorem DifferentialOperators.iteratedFDeriv_poly_reciprocal_step {n : } (P : MvPolynomial (Fin n) ) (k : ) (L_prev : MvPolynomial (Fin n) ) (hL_deg : L_prev.totalDegree P.totalDegree.pred * k) (hL_bound : ∀ (ξ : EuclideanSpace (Fin n)), (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) P 0iteratedFDeriv k (fun (ξ' : EuclideanSpace (Fin n)) => ((MvPolynomial.eval fun (i : Fin n) => ξ'.ofLp i) P)⁻¹) ξ (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) L_prev / (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) P ^ (1 + k)) :
∃ (L_next : MvPolynomial (Fin n) ), L_next.totalDegree P.totalDegree.pred * (k + 1) ∀ (ξ : EuclideanSpace (Fin n)), (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) P 0iteratedFDeriv (k + 1) (fun (ξ' : EuclideanSpace (Fin n)) => ((MvPolynomial.eval fun (i : Fin n) => ξ'.ofLp i) P)⁻¹) ξ (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) L_next / (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) P ^ (1 + (k + 1))

Inductive step for the structural bound on iterated Fréchet derivatives of 1/P: given a polynomial L_prev controlling the k-th iterated derivative as ‖D^k(1/P)(ξ)‖ ≤ ‖L_prev(ξ)‖ / ‖P(ξ)‖^(1+k), produce a polynomial L_next of degree at most (deg P - 1)(k+1) controlling the (k+1)-th iterated derivative analogously.

theorem DifferentialOperators.iteratedFDeriv_poly_reciprocal_structural {n : } (P : MvPolynomial (Fin n) ) (k : ) :
∃ (L : MvPolynomial (Fin n) ), L.totalDegree P.totalDegree.pred * k ∀ (ξ : EuclideanSpace (Fin n)), (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) P 0iteratedFDeriv k (fun (ξ' : EuclideanSpace (Fin n)) => ((MvPolynomial.eval fun (i : Fin n) => ξ'.ofLp i) P)⁻¹) ξ (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) L / (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) P ^ (1 + k)

Structural bound on the k-th iterated Fréchet derivative of 1/P: there exists a polynomial L of total degree at most (deg P - 1)·k such that ‖D^k(1/P)(ξ)‖ ≤ ‖L(ξ)‖ / ‖P(ξ)‖^(1+k) whenever P(ξ) ≠ 0. Proved by induction using iteratedFDeriv_poly_reciprocal_step.

theorem DifferentialOperators.mvPolynomial_eval_norm_le_pow {n : } (Q : MvPolynomial (Fin n) ) :
A > 0, ∀ (ξ : EuclideanSpace (Fin n)), (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) Q A * (1 + ξ) ^ Q.totalDegree

Polynomial growth bound for evaluation of a real multivariate polynomial: there exists A > 0 so that ‖Q(ξ)‖ ≤ A · (1 + ‖ξ‖)^(deg Q) for all ξ.

theorem DifferentialOperators.reciprocal_poly_iteratedFDeriv_structural_bound (n : ) (P : MvPolynomial (Fin n) ) (m : ) (hm : 1 m) (hdeg : P.totalDegree m) (C : ) (hC : C > 0) (hP : ∀ (ξ : EuclideanSpace (Fin n)), ξ > 1 / C(MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) P C * ξ ^ m) (k : ) :
C₁ > 0, ∀ (ξ : EuclideanSpace (Fin n)), ξ > 1 / CiteratedFDeriv k (fun (ξ' : EuclideanSpace (Fin n)) => ((MvPolynomial.eval fun (i : Fin n) => ξ'.ofLp i) P)⁻¹) ξ C₁ * (1 + ξ) ^ ((m - 1) * k) / (MvPolynomial.eval fun (i : Fin n) => ξ.ofLp i) P ^ (1 + k)

Quantitative bound on iterated Fréchet derivatives of 1/P outside {‖ξ‖ > 1/C}: combining the structural polynomial bound with the polynomial growth of its coefficients, one obtains ‖D^k(1/P)(ξ)‖ ≤ C₁ · (1 + ‖ξ‖)^((m-1)·k) / ‖P(ξ)‖^(1+k).

Polynomial growth bound for evalAtReal Q: there exists A > 0 such that for every real input ξ, ‖Q(ξ)‖ ≤ A · (1 + ‖ξ‖)^(deg Q). Complex-coefficient analogue of mvPolynomial_eval_norm_le_pow.

theorem DifferentialOperators.reciprocal_poly_deriv_bound_multiIndex {n : } (P : MvPolynomial (Fin n) ) (m : ) (hm : 1 m) (hdeg : P.totalDegree m) (C : ) (hP : HasPolyLowerBound P m C) (js : List (Fin n)) :
> 0, ∀ (ξ : EuclideanSpace (Fin n)), ξ > 1 / CiteratedPartialDeriv js (polyReciprocal P) ξ * ξ ^ (-↑(m + js.length))

Multi-index derivative bound for 1/P outside {‖ξ‖ > 1/C}: under the polynomial lower bound ‖P(ξ)‖ ≥ C · ‖ξ‖^m, an iterated partial derivative ∂^α (1/P) of order |α| decays like ‖ξ‖^(-(m + |α|)). This is the elliptic-style parametrix decay estimate from Melrose Cor 12.15.