Space #
This file contains d
-dimensional space.
Note on implementation #
The definition of Space d
currently inherits all instances of
EuclideanSpace ℝ (Fin d)
.
This, in particular, automatically equips Space d
with a
norm. This norm induces a metric on Space d
which is the standard
Euclidean metric. Thus Space d
automatically corresponds to
flat space.
The definition of deriv
through fderiv
explicitly uses this metric.
Space d
also inherits instances of EuclideanSpace ℝ (Fin d)
such as
a zero vector, the ability to add two space positions etc, which
are not really allowed operations on Space d
.
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
.
The notation 𝔁 μ p
can be used for this.
Equations
- Space.term𝔁 = Lean.ParserDescr.node `Space.term𝔁 1024 (Lean.ParserDescr.symbol "𝔁")
Instances For
Calculus #
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
The vector calculus operator grad
.
Equations
- Space.«term∇» = Lean.ParserDescr.node `Space.«term∇» 1024 (Lean.ParserDescr.symbol "∇")
Instances For
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
The vector calculus operator div
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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 laplacian_vec
operator.
Equations
- Space.laplacian_vec f x i = Space.laplacian ((fun (i : Fin d) (x : Space d) => Space.coord i (f x)) i) x
Instances For
The vector laplacian_vec
operator.
Equations
- Space.termΔ_1 = Lean.ParserDescr.node `Space.termΔ_1 1024 (Lean.ParserDescr.symbol "Δ")