Space #
In this module, we define the the type Space d
which corresponds
to a d
-dimensional Euclidean space and prove some properties about it.
PhysLean sits downstream of Mathlib, and above we import the necessary Mathlib modules which contain (perhaps transitively through imports) the definitions and theorems we need.
Inner product #
Basis #
Coordinates #
The standard coordinate functions of Space based on Fin d
.
The notation 𝔁 μ p
can be used for this.
Equations
- Space.coord μ p = inner ℝ p (Space.basis μ)
Instances For
The standard coordinate functions of Space based on Fin d
, as a continuous linear map.
Equations
- Space.coordCLM μ = { toFun := Space.coord μ, map_add' := ⋯, map_smul' := ⋯, cont := ⋯ }
Instances For
The standard coordinate functions of Space based on Fin d
.
The notation 𝔁 μ p
can be used for this.
Equations
- Space.term𝔁 = Lean.ParserDescr.node `Space.term𝔁 1024 (Lean.ParserDescr.symbol "𝔁")
Instances For
Derivatives #
Given a function f : Space d → M
the derivative of f
in direction μ
.
Equations
- Space.deriv μ f x = (fderiv ℝ f x) (EuclideanSpace.single μ 1)
Instances For
Given a function f : Space d → M
the derivative of f
in direction μ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gradient #
The vector calculus operator grad
.
Equations
- Space.«term∇» = Lean.ParserDescr.node `Space.«term∇» 1024 (Lean.ParserDescr.symbol "∇")
Instances For
Curl #
The vector calculus operator curl
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The vector calculus operator curl
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Div #
The vector calculus operator div
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Laplacians #
The scalar laplacian
operator.
Equations
- Space.laplacian f x = ∑ i : Fin d, (fun (i : Fin d) (x : Space d) => Space.deriv i (Space.deriv i f) x) i x
Instances For
The scalar laplacian
operator.
Equations
- Space.termΔ = Lean.ParserDescr.node `Space.termΔ 1024 (Lean.ParserDescr.symbol "Δ")
Instances For
The vector laplacianVec
operator.
Equations
- Space.laplacianVec f x i = Space.laplacian ((fun (i : Fin d) (x : Space d) => Space.coord i (f x)) i) x
Instances For
The vector laplacianVec
operator.
Equations
- Space.termΔ_1 = Lean.ParserDescr.node `Space.termΔ_1 1024 (Lean.ParserDescr.symbol "Δ")
Instances For
Directions #
One equiv #
The continuous linear equivalence between Space 1
and ℝ
.
Equations
- Space.oneEquivCLE = { toLinearEquiv := ↑Space.oneEquiv, continuous_toFun := Space.oneEquivCLE._proof_2, continuous_invFun := Space.oneEquivCLE._proof_3 }