structure
definition
ScalarField
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Relativity.Fields.Scalar on GitHub at line 11.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
backwardDiff -
conservativeTransportField -
CoreNSOperator -
forwardDiff -
IncompressibleNSOperator -
ScalarField -
scalarLaplacian -
total_conservativeTransportField_zero -
kinetic_action -
kinetic_nonneg -
potential_action -
add -
add_comm -
constant -
deriv_add -
deriv_smul -
directional_deriv -
eval -
field_squared -
field_squared_nonneg -
gradient -
gradient_squared -
gradient_squared_minkowski -
smul -
smul_zero -
zero -
ScalarField -
expand_action_around_FRW -
RefreshField
formal source
8open Geometry
9
10/-- A scalar field assigns a real value to each spacetime point. -/
11structure ScalarField where
12 ψ : (Fin 4 → ℝ) → ℝ
13
14/-- Evaluate scalar field at a point. -/
15noncomputable def eval (φ : ScalarField) (x : Fin 4 → ℝ) : ℝ := φ.ψ x
16
17/-- Constant scalar field. -/
18def constant (c : ℝ) : ScalarField := { ψ := fun _ => c }
19
20theorem constant_eval (c : ℝ) (x : Fin 4 → ℝ) :
21 eval (constant c) x = c := rfl
22
23/-- Zero scalar field. -/
24def zero : ScalarField := constant 0
25
26theorem zero_eval (x : Fin 4 → ℝ) : eval zero x = 0 := rfl
27
28/-- Scalar field addition. -/
29def add (φ₁ φ₂ : ScalarField) : ScalarField :=
30 { ψ := fun x => φ₁.ψ x + φ₂.ψ x }
31
32/-- Scalar multiplication. -/
33def smul (c : ℝ) (φ : ScalarField) : ScalarField :=
34 { ψ := fun x => c * φ.ψ x }
35
36theorem add_comm (φ₁ φ₂ : ScalarField) :
37 ∀ x, eval (add φ₁ φ₂) x = eval (add φ₂ φ₁) x := by
38 intro x
39 simp [eval, add]
40 ring
41