Documentation

TauCeti.Analysis.MvPolynomial.Jacobian

Analytic derivatives of multivariate polynomial families #

The formal partial derivatives of a multivariate polynomial give its FrΓ©chet derivative on the finite coordinate space over any nontrivially normed field. For a family of equations, with the product topology on its target, this identifies the analytic derivative with the linear map of TauCeti.jacobiMatrixAt. In particular the derivative is surjective exactly when the Jacobian matrix is, and the evaluation map of the family is analytic.

For real or complex Euclidean coordinate spaces, we also give the derivative applied to an arbitrary direction and to a standard coordinate direction.

theorem MvPolynomial.hasFDerivAt_eval {π•œ : Type u_1} {Οƒ : Type u_2} [NontriviallyNormedField π•œ] [Fintype Οƒ] (p : MvPolynomial Οƒ π•œ) (x : Οƒ β†’ π•œ) :
HasFDerivAt (fun (y : Οƒ β†’ π•œ) => (eval y) p) (βˆ‘ j : Οƒ, (eval x) ((pderiv j) p) β€’ ContinuousLinearMap.proj j) x

The derivative of polynomial evaluation is the sum of its evaluated formal partial derivatives times the coordinate projections.

theorem MvPolynomial.fderiv_eval_euclidean_apply {Οƒ : Type u_2} [Fintype Οƒ] {π•œ : Type u_4} [RCLike π•œ] (p : MvPolynomial Οƒ π•œ) (x v : EuclideanSpace π•œ Οƒ) :
(fderiv π•œ (fun (y : EuclideanSpace π•œ Οƒ) => (eval y.ofLp) p) x) v = βˆ‘ i : Οƒ, (eval x.ofLp) ((pderiv i) p) * v.ofLp i

The FrΓ©chet derivative of polynomial evaluation on Euclidean space, applied to a direction, is the evaluated formal gradient paired with that direction.

@[simp]
theorem MvPolynomial.fderiv_eval_euclidean_single {Οƒ : Type u_2} {π•œ : Type u_4} [RCLike π•œ] [Finite Οƒ] [DecidableEq Οƒ] (p : MvPolynomial Οƒ π•œ) (x : EuclideanSpace π•œ Οƒ) (i : Οƒ) :
(fderiv π•œ (fun (y : EuclideanSpace π•œ Οƒ) => (eval y.ofLp) p) x) (EuclideanSpace.single i 1) = (eval x.ofLp) ((pderiv i) p)

Differentiating polynomial evaluation in a standard coordinate direction gives evaluation of the corresponding formal partial derivative. This also simplifies derivatives along EuclideanSpace.basisFun, whose simp normal form is EuclideanSpace.single i 1.

theorem TauCeti.hasFDerivAt_eval_family {π•œ : Type u_1} {Οƒ : Type u_2} {ΞΉ : Type u_3} [NontriviallyNormedField π•œ] [Fintype Οƒ] (p : ΞΉ β†’ MvPolynomial Οƒ π•œ) (x : Οƒ β†’ π•œ) :
HasFDerivAt (fun (y : Οƒ β†’ π•œ) (i : ΞΉ) => (MvPolynomial.eval y) (p i)) (ContinuousLinearMap.pi fun (i : ΞΉ) => βˆ‘ j : Οƒ, (MvPolynomial.eval x) ((MvPolynomial.pderiv j) (p i)) β€’ ContinuousLinearMap.proj j) x

The analytic derivative of a polynomial family is its Jacobian matrix, viewed as a continuous linear map.

theorem TauCeti.fderiv_eval_family {π•œ : Type u_1} {Οƒ : Type u_2} {ΞΉ : Type u_3} [NontriviallyNormedField π•œ] [Fintype Οƒ] (p : ΞΉ β†’ MvPolynomial Οƒ π•œ) (x : Οƒ β†’ π•œ) :
↑(fderiv π•œ (fun (y : Οƒ β†’ π•œ) (i : ΞΉ) => (MvPolynomial.eval y) (p i)) x) = (jacobiMatrixAt p x).mulVecLin

The FrΓ©chet derivative of a polynomial family agrees with its formal Jacobian.

theorem TauCeti.surjective_fderiv_eval_family_iff {π•œ : Type u_1} {Οƒ : Type u_2} {ΞΉ : Type u_3} [NontriviallyNormedField π•œ] [Fintype Οƒ] (p : ΞΉ β†’ MvPolynomial Οƒ π•œ) (x : Οƒ β†’ π•œ) :
Function.Surjective ⇑(fderiv π•œ (fun (y : Οƒ β†’ π•œ) (i : ΞΉ) => (MvPolynomial.eval y) (p i)) x) ↔ Function.Surjective (jacobiMatrixAt p x).mulVec

The FrΓ©chet derivative of a polynomial family is surjective exactly when its Jacobian matrix is.

theorem TauCeti.analyticOnNhd_eval_family {π•œ : Type u_1} {Οƒ : Type u_2} {ΞΉ : Type u_3} [NontriviallyNormedField π•œ] [Fintype Οƒ] [Fintype ΞΉ] (p : ΞΉ β†’ MvPolynomial Οƒ π•œ) :
AnalyticOnNhd π•œ (fun (x : Οƒ β†’ π•œ) (i : ΞΉ) => (MvPolynomial.eval x) (p i)) Set.univ

The evaluation map of a polynomial family is analytic.