Documentation

Mathlib.Analysis.Distribution.DerivNotation

Type classes for derivatives #

In this file we define notation type classes for line derivatives, also known as partial derivatives.

Moreover, we provide type-classes that encode the linear structure.

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).

class LineDeriv (V : Type u) (E : Type v) (F : outParam (Type w)) :
Type (max (max u v) w)

The notation typeclass for the line derivative.

  • lineDerivOp : VEF

    ∂_{v} f is the line derivative of f in direction v. The meaning of this notation is type-dependent.

Instances

    ∂_{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
      def LineDeriv.iteratedLineDerivOp {V : Type u_5} {E : Type u_6} [LineDeriv V E E] {n : } :
      (Fin nV)EE

      ∂^{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

        ∂^{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
          @[simp]
          theorem LineDeriv.iteratedLineDerivOp_zero {V : Type u_5} {E : Type u_6} [LineDeriv V E E] (m : Fin 0V) (f : E) :
          @[simp]
          theorem LineDeriv.iteratedLineDerivOp_one {V : Type u_5} {E : Type u_6} [LineDeriv V E E] (m : Fin 1V) (f : E) :
          theorem LineDeriv.iteratedLineDerivOp_succ_left {V : Type u_5} {E : Type u_6} [LineDeriv V E E] {n : } (m : Fin (n + 1)V) (f : E) :
          theorem LineDeriv.iteratedLineDerivOp_succ_right {V : Type u_5} {E : Type u_6} [LineDeriv V E E] {n : } (m : Fin (n + 1)V) (f : E) :
          @[simp]
          theorem LineDeriv.iteratedLineDerivOp_const_eq_iter_lineDerivOp {V : Type u_5} {E : Type u_6} [LineDeriv V E E] (n : ) (y : V) (f : E) :
          iteratedLineDerivOp (fun (x : Fin n) => y) f = (lineDerivOp y)^[n] f
          class LineDerivAdd (V : Type u) (E : Type v) (F : outParam (Type w)) [AddCommGroup E] [AddCommGroup F] [LineDeriv V E F] :

          The line derivative is additive, ∂_{v} (x + y) = ∂_{v} x + ∂_{v} y for all x y : E.

          Note that lineDeriv on functions is not additive.

          Instances
            class LineDerivSMul (R : Type u_5) (V : Type u) (E : Type v) (F : outParam (Type w)) [SMul R E] [SMul R F] [LineDeriv V E F] :

            The line derivative commutes with scalar multiplication, ∂_{v} (r • x) = r • ∂_{v} x for all r : R and x : E.

            Instances

              The line derivative is continuous.

              Instances
                def LineDeriv.lineDerivOpCLM (R : Type u_1) {V : Type u_2} (E : Type u_3) {F : Type u_4} [Ring R] [AddCommGroup E] [Module R E] [AddCommGroup F] [Module R F] [TopologicalSpace E] [TopologicalSpace F] [LineDeriv V E F] [LineDerivAdd V E F] [LineDerivSMul R V E F] [ContinuousLineDeriv V E F] (m : V) :
                E →L[R] F

                The line derivative as a continuous linear map.

                Equations
                Instances For
                  @[simp]
                  theorem LineDeriv.lineDerivOpCLM_apply {R : Type u_1} {V : Type u_2} {E : Type u_3} {F : Type u_4} [Ring R] [AddCommGroup E] [Module R E] [AddCommGroup F] [Module R F] [TopologicalSpace E] [TopologicalSpace F] [LineDeriv V E F] [LineDerivAdd V E F] [LineDerivSMul R V E F] [ContinuousLineDeriv V E F] (m : V) (x : E) :
                  theorem LineDeriv.iteratedLineDerivOp_add {V : Type u_2} {E : Type u_3} [LineDeriv V E E] {n : } (m : Fin nV) [AddCommGroup E] [LineDerivAdd V E E] (x y : E) :
                  theorem LineDeriv.iteratedLineDerivOp_smul {R : Type u_1} {V : Type u_2} {E : Type u_3} [LineDeriv V E E] {n : } (m : Fin nV) [SMul R E] [LineDerivSMul R V E E] (r : R) (x : E) :
                  def LineDeriv.iteratedLineDerivOpCLM (R : Type u_1) {V : Type u_2} (E : Type u_3) [LineDeriv V E E] [TopologicalSpace E] [Ring R] [AddCommGroup E] [Module R E] [LineDerivAdd V E E] [LineDerivSMul R V E E] [ContinuousLineDeriv V E E] {n : } (m : Fin nV) :
                  E →L[R] E

                  The iterated line derivative as a continuous linear map.

                  Equations
                  Instances For
                    @[simp]
                    theorem LineDeriv.iteratedLineDerivOpCLM_apply {R : Type u_1} {V : Type u_2} {E : Type u_3} [LineDeriv V E E] [TopologicalSpace E] [Ring R] [AddCommGroup E] [Module R E] [LineDerivAdd V E E] [LineDerivSMul R V E E] [ContinuousLineDeriv V E E] {n : } (m : Fin nV) (x : E) :