Derivative of a Determinant with One Updated Row
ProvedFunctionalInequalities.Analysis.fderiv_det_updateRow_readablefunctional-inequalitieskls-conjecturekls-modularkls-readablelog-concave
This lemma is a technical determinant differentiation formula.
Let be a real normed vector space, let , and suppose every scalar entry is differentiable at . Fix a row , a replacement row , and a direction . Then
The declaration fderiv_det_updateRow_readable is used as a local algebraic rule and makes no symmetry, positivity, or invertibility assumption on the matrices.
Original Lean declaration header
Within namespace FunctionalInequalities.Analysis. Shown in its original module context. Proof omitted.
private lemma fderiv_det_updateRow
{n : ℕ} {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
(A : E → Fin n → Fin n → ℝ) (x : E)
(hA : ∀ k l, DifferentiableAt ℝ (fun y => A y k l) x)
(j : Fin n) (c : Fin n → ℝ) (v : E) :
fderiv ℝ (fun y => (Matrix.updateRow (A y) j c).det) x v =
∑ k, if k = j then 0
else ((Matrix.updateRow (A x) j c).updateRow k
(fun l => fderiv ℝ (fun y => A y k l) x v)).det
Module navigation
Module: Analysis/Matrix/Piola.
Next: sum_fderiv_adjugate_hessianMatrix_eq_zero.
Source excerpt, lines 57–65 · Frozen source 408915f.
Preamble
import Definitions.Def_KLSModular_FunctionalInequalities_Analysis_Matrix_Piola
Formal statement
lemma FunctionalInequalities.Analysis.fderiv_det_updateRow_readable
{n : ℕ} {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
(A : E → Fin n → Fin n → ℝ) (x : E)
(hA : ∀ k l, DifferentiableAt ℝ (fun y => A y k l) x)
(j : Fin n) (c : Fin n → ℝ) (v : E) :
fderiv ℝ (fun y => (Matrix.updateRow (A y) j c).det) x v =
∑ k, if k = j then 0
else ((Matrix.updateRow (A x) j c).updateRow k
(fun l => fderiv ℝ (fun y => A y k l) x v)).det := by sorry
Source
Lean source: https://github.com/human-ai-mathematics/kls-lean/blob/408915f/formalization/FunctionalInequalities/Analysis/Matrix/Piola.lean#L57-L129 (repository human-ai-mathematics/kls-lean, commit 408915f, module `FunctionalInequalities.Analysis.Matrix.Piola`, declaration `_private.FunctionalInequalities.Analysis.Matrix.Piola.0.FunctionalInequalities.Analysis.fderiv_det_updateRow`; the repository is private at upload time).