PhysLean Documentation

PhysLean.SpaceAndTime.Space.Basic

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.

The Space type #

@[reducible, inline]
abbrev Space (d : := 3) :

The type Space d representes d dimensional Euclidean space. The default value of d is 3. Thus Space = Space 3.

Equations
Instances For

    Basic operations on Space. #

    Instances on Space #

    Inner product #

    theorem Space.inner_eq_sum {d : } (p q : Space d) :
    inner p q = i : Fin d, p i * q i

    Basis #

    noncomputable def Space.basis {d : } :

    The standard basis of Space based on Fin d.

    Equations
    Instances For
      theorem Space.basis_apply {d : } (i j : Fin d) :
      basis i j = if i = j then 1 else 0
      @[simp]
      theorem Space.basis_self {d : } (i : Fin d) :
      basis i i = 1
      @[simp]
      theorem Space.basis_repr {d : } (p : Space d) :
      @[simp]
      theorem Space.inner_basis {d : } (p : Space d) (i : Fin d) :
      inner p (basis i) = p i
      @[simp]
      theorem Space.basis_inner {d : } (i : Fin d) (p : Space d) :
      inner (basis i) p = p i

      Coordinates #

      noncomputable def Space.coord {d : } (μ : Fin d) (p : Space d) :

      The standard coordinate functions of Space based on Fin d.

      The notation 𝔁 μ p can be used for this.

      Equations
      Instances For
        theorem Space.coord_apply {d : } (μ : Fin d) (p : Space d) :
        coord μ p = p μ
        noncomputable def Space.coordCLM {d : } (μ : Fin d) :

        The standard coordinate functions of Space based on Fin d, as a continuous linear map.

        Equations
        Instances For
          theorem Space.coord_contDiff {d : } {i : Fin d} :
          ContDiff fun (x : Space d) => coord i x
          theorem Space.coordCLM_apply {d : } (μ : Fin d) (p : Space d) :
          (coordCLM μ) p = coord μ p

          The standard coordinate functions of Space based on Fin d.

          The notation 𝔁 μ p can be used for this.

          Equations
          Instances For

            Derivatives #

            noncomputable def Space.deriv {M : Type u_1} {d : } [AddCommGroup M] [Module M] [TopologicalSpace M] (μ : Fin d) (f : Space dM) :
            Space dM

            Given a function f : Space d → M the derivative of f in direction μ.

            Equations
            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
                theorem Space.deriv_eq {M : Type u_1} {d : } [AddCommGroup M] [Module M] [TopologicalSpace M] (μ : Fin d) (f : Space dM) (x : Space d) :
                deriv μ f x = (fderiv f x) (EuclideanSpace.single μ 1)
                theorem Space.deriv_eq_fderiv_basis {M : Type u_1} {d : } [AddCommGroup M] [Module M] [TopologicalSpace M] (μ : Fin d) (f : Space dM) (x : Space d) :
                deriv μ f x = (fderiv f x) (basis μ)

                Gradient #

                noncomputable def Space.grad {d : } (f : Space d) :

                The vector calculus operator grad.

                Equations
                Instances For

                  The vector calculus operator grad.

                  Equations
                  Instances For

                    Curl #

                    noncomputable def Space.curl (f : SpaceEuclideanSpace (Fin 3)) :

                    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 #

                        noncomputable def Space.div {d : } (f : Space dEuclideanSpace (Fin d)) :
                        Space d

                        The vector calculus operator div.

                        Equations
                        Instances For

                          The vector calculus operator div.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            Laplacians #

                            noncomputable def Space.laplacian {d : } (f : Space d) :
                            Space d

                            The scalar laplacian operator.

                            Equations
                            Instances For

                              The scalar laplacian operator.

                              Equations
                              Instances For
                                noncomputable def Space.laplacianVec {d : } (f : Space dEuclideanSpace (Fin d)) :

                                The vector laplacianVec operator.

                                Equations
                                Instances For

                                  The vector laplacianVec operator.

                                  Equations
                                  Instances For

                                    Directions #

                                    structure Space.Direction (d : := 3) :

                                    Notion of direction where unit returns a unit vector in the direction specified.

                                    Instances For
                                      noncomputable def Space.toDirection {d : } (x : Space d) (h : x 0) :

                                      Direction of a Space value with respect to the origin.

                                      Equations
                                      Instances For

                                        One equiv #

                                        noncomputable def Space.oneEquiv :

                                        The linear isometric equivalence between Space 1 and .

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          theorem Space.oneEquiv_coe :
                                          oneEquiv = fun (x : Space 1) => x 0
                                          theorem Space.oneEquiv_symm_coe :
                                          oneEquiv.symm = fun (x : ) (x_1 : Fin 1) => x
                                          theorem Space.oneEquiv_symm_apply (x : ) (i : Fin 1) :

                                          The continuous linear equivalence between Space 1 and .

                                          Equations
                                          Instances For