Type classes for derivatives and the Laplacian #
In this file we define notation type classes for line derivatives, also known as partial derivatives, and for the Laplacian.
Moreover, we provide type-classes that encode the linear structure. We also define the iterated line derivative and prove elementary properties. We define a Laplacian based on the sum of second derivatives formula and prove that the Laplacian thus defined is independent of the choice of basis.
Currently, this type class is only used by Schwartz functions. Future uses include derivatives on test functions, distributions, tempered distributions, and Sobolev spaces (and other generalized function spaces).
Line derivative #
∂_{v} f is the line derivative of f in direction v. The meaning of this notation is
type-dependent.
Equations
- One or more equations did not get rendered due to their size.
Instances For
∂^{m} f is the iterated line derivative of f, where m is a finite number of (different)
directions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The line derivative is additive, ∂_{v} (x + y) = ∂_{v} x + ∂_{v} y for all x y : E
and ∂_{v + w} x = ∂_{v} x + ∂_{w} y for all v w : V.
Note that lineDeriv on functions is not additive.
- lineDerivOp_add (v : V) (x y : E) : LineDeriv.lineDerivOp v (x + y) = LineDeriv.lineDerivOp v x + LineDeriv.lineDerivOp v y
- lineDerivOp_left_add (v w : V) (x : E) : LineDeriv.lineDerivOp (v + w) x = LineDeriv.lineDerivOp v x + LineDeriv.lineDerivOp w x
Instances
The line derivative commutes with scalar multiplication, ∂_{v} (r • x) = r • ∂_{v} x for all
r : R and x : E.
- lineDerivOp_smul (v : V) (r : R) (x : E) : LineDeriv.lineDerivOp v (r • x) = r • LineDeriv.lineDerivOp v x
Instances
The line derivative commutes with scalar multiplication, ∂_{r • v} x = r • ∂_{v} x for all
r : R and v : V.
- lineDerivOp_left_smul (r : R) (v : V) (x : E) : LineDeriv.lineDerivOp (r • v) x = r • LineDeriv.lineDerivOp v x
Instances
The line derivative is continuous.
- continuous_lineDerivOp (v : V) : Continuous (LineDeriv.lineDerivOp v)
Instances
The line derivative as a continuous linear map.
Equations
- LineDeriv.lineDerivOpCLM R E m = { toFun := LineDeriv.lineDerivOp m, map_add' := ⋯, map_smul' := ⋯, cont := ⋯ }
Instances For
The iterated line derivative as a continuous linear map.
Equations
- LineDeriv.iteratedLineDerivOpCLM R E m = { toFun := LineDeriv.iteratedLineDerivOp m, map_add' := ⋯, map_smul' := ⋯, cont := ⋯ }
Instances For
Laplacian #
Δ f is the Laplacian of f. The meaning of this notation is type-dependent.
Equations
- Laplacian.termΔ = Lean.ParserDescr.node `Laplacian.termΔ 1024 (Lean.ParserDescr.symbol "Δ")
Instances For
The second derivative in terms lineDerivOp as a bilinear map.
Mainly used to give an abstract definition of the Laplacian.
Equations
- LineDeriv.bilinearLineDerivTwo R f = LinearMap.mk₂ R (fun (x1 x2 : E) => LineDeriv.lineDerivOp x1 (LineDeriv.lineDerivOp x2 f)) ⋯ ⋯ ⋯ ⋯
Instances For
The second derivative in terms lineDerivOp as a linear map from the tensor product.
Mainly used to give an abstract definition of the Laplacian.
Equations
Instances For
The Laplacian defined by iterated lineDerivOp as a continuous linear map.
Equations
- One or more equations did not get rendered due to their size.