Documentation

RoughPaths.Word.Algebraic

Algebraic Rough Paths #

This file defines the algebraic part of a rough path: a two-parameter family of word signatures satisfying Chen's identity. Analytic regularity, such as finite p-variation or Holder bounds, is deliberately left for later files.

Main definitions #

References #

structure RoughPaths.AlgebraicRoughPath (T : Type u) (α : Type v) (R : Type w) [Semiring R] :
Type (max (max u v) w)

Algebraic rough path increments: a multiplicative functional on words. identity and chen are Chen's relations and unitEmpty normalises the degree-zero coefficient. Geometricity (the shuffle identity) is the separate mixin IsWeaklyGeometric, so general non-geometric (e.g. Itô-type) rough paths are included.

Instances For

    A rough path is weakly geometric when every increment is group-like, i.e. satisfies the shuffle identity.

    Equations
    Instances For

      The constant identity word-signature rough path.

      Equations
      Instances For
        def RoughPaths.AlgebraicRoughPath.comapTime {T : Type u} {α : Type v} {R : Type w} [Semiring R] {S : Type z} (f : ST) (X : AlgebraicRoughPath T α R) :

        Pull an algebraic rough path back along a map of time domains.

        Equations
        Instances For
          def RoughPaths.AlgebraicRoughPath.comapMapLetters {T : Type u} {α : Type v} {R : Type w} [Semiring R] {β : Type z} (f : αβ) (X : AlgebraicRoughPath T β R) :

          Pull an algebraic rough path back along a map of alphabets.

          Equations
          Instances For
            @[simp]
            theorem RoughPaths.AlgebraicRoughPath.comapMapLetters_increment {T : Type u} {α : Type v} {R : Type w} [Semiring R] {β : Type z} (f : αβ) (X : AlgebraicRoughPath T β R) (s t : T) :
            @[simp]
            theorem RoughPaths.AlgebraicRoughPath.comapTime_increment {T : Type u} {α : Type v} {R : Type w} [Semiring R] {S : Type z} (f : ST) (X : AlgebraicRoughPath T α R) (s t : S) :
            (comapTime f X).increment s t = X.increment (f s) (f t)
            def RoughPaths.AlgebraicRoughPath.coeff {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t : T) (word : List α) :
            R

            Coordinate of an algebraic rough path increment on a word.

            Equations
            Instances For
              def RoughPaths.AlgebraicRoughPath.truncatedIncrement {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (n : ) (s t : T) :
              Equations
              Instances For
                theorem RoughPaths.AlgebraicRoughPath.ext {T : Type u} {α : Type v} {R : Type w} [Semiring R] {X Y : AlgebraicRoughPath T α R} (h : ∀ (s t : T) (word : List α), X.coeff s t word = Y.coeff s t word) :
                X = Y
                theorem RoughPaths.AlgebraicRoughPath.ext_iff {T : Type u} {α : Type v} {R : Type w} [Semiring R] {X Y : AlgebraicRoughPath T α R} :
                X = Y ∀ (s t : T) (word : List α), X.coeff s t word = Y.coeff s t word
                @[simp]
                theorem RoughPaths.AlgebraicRoughPath.unit_increment {T : Type u} {α : Type v} {R : Type w} [Semiring R] (s t : T) :
                (unit T α R).increment s t = Word.unit α R
                theorem RoughPaths.AlgebraicRoughPath.unit_coeff {T : Type u} {α : Type v} {R : Type w} [Semiring R] (s t : T) (word : List α) :
                (unit T α R).coeff s t word = Word.coeff (Word.unit α R) word
                @[simp]
                theorem RoughPaths.AlgebraicRoughPath.unit_coeff_nil {T : Type u} {α : Type v} {R : Type w} [Semiring R] (s t : T) :
                (unit T α R).coeff s t [] = 1
                @[simp]
                theorem RoughPaths.AlgebraicRoughPath.unit_coeff_cons {T : Type u} {α : Type v} {R : Type w} [Semiring R] (s t : T) (x : α) (word : List α) :
                (unit T α R).coeff s t (x :: word) = 0
                @[simp]
                theorem RoughPaths.AlgebraicRoughPath.coeff_comapMapLetters {T : Type u} {α : Type v} {R : Type w} [Semiring R] {β : Type z} (f : αβ) (X : AlgebraicRoughPath T β R) (s t : T) (word : List α) :
                (comapMapLetters f X).coeff s t word = X.coeff s t (List.map f word)
                @[simp]
                theorem RoughPaths.AlgebraicRoughPath.coeff_comapTime {T : Type u} {α : Type v} {R : Type w} [Semiring R] {S : Type z} (f : ST) (X : AlgebraicRoughPath T α R) (s t : S) (word : List α) :
                (comapTime f X).coeff s t word = X.coeff (f s) (f t) word
                @[simp]
                theorem RoughPaths.AlgebraicRoughPath.truncatedIncrement_apply {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (n : ) (s t : T) (word : { word : List α // word.length n }) :
                X.truncatedIncrement n s t word = X.coeff s t word
                @[simp]
                theorem RoughPaths.AlgebraicRoughPath.truncatedIncrement_comapMapLetters {T : Type u} {α : Type v} {R : Type w} [Semiring R] {β : Type z} (f : αβ) (X : AlgebraicRoughPath T β R) (n : ) (s t : T) :
                (comapMapLetters f X).truncatedIncrement n s t = fun (word : { word : List α // word.length n }) => X.coeff s t (List.map f word)
                @[simp]
                theorem RoughPaths.AlgebraicRoughPath.truncatedIncrement_comapTime {T : Type u} {α : Type v} {R : Type w} [Semiring R] {S : Type z} (f : ST) (X : AlgebraicRoughPath T α R) (n : ) (s t : S) :
                (comapTime f X).truncatedIncrement n s t = X.truncatedIncrement n (f s) (f t)
                def RoughPaths.AlgebraicRoughPath.AgreeUpToDegree {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X Y : AlgebraicRoughPath T α R) (n : ) :

                Two algebraic rough paths agree through word degree n if all increments do.

                Equations
                Instances For
                  theorem RoughPaths.AlgebraicRoughPath.agreeUpToDegree_iff_coeff {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X Y : AlgebraicRoughPath T α R) (n : ) :
                  X.AgreeUpToDegree Y n ∀ (s t : T) (word : List α), word.length nX.coeff s t word = Y.coeff s t word
                  theorem RoughPaths.AlgebraicRoughPath.eq_of_agreeUpToDegree_all {T : Type u} {α : Type v} {R : Type w} [Semiring R] {X Y : AlgebraicRoughPath T α R} (h : ∀ (n : ), X.AgreeUpToDegree Y n) :
                  X = Y
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.comapTime_id {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) :
                  theorem RoughPaths.AlgebraicRoughPath.comapTime_comp {T : Type u} {α : Type v} {R : Type w} [Semiring R] {S : Type z} {U : Type y} (f : ST) (g : US) (X : AlgebraicRoughPath T α R) :
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.comapTime_unit {T : Type u} {α : Type v} {R : Type w} [Semiring R] {S : Type z} (f : ST) :
                  comapTime f (unit T α R) = unit S α R
                  theorem RoughPaths.AlgebraicRoughPath.comapMapLetters_comp {T : Type u} {α : Type v} {R : Type w} [Semiring R] {β : Type z} {γ : Type y} (f : αβ) (g : βγ) (X : AlgebraicRoughPath T γ R) :
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.comapMapLetters_unit {T : Type u} {α : Type v} {R : Type w} [Semiring R] {β : Type z} (f : αβ) :
                  comapMapLetters f (unit T β R) = unit T α R
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.coeff_apply {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t : T) (word : List α) :
                  X.coeff s t word = X.increment s t word
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.increment_self {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (t : T) :
                  X.increment t t = Word.unit α R
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.coeff_self_nil {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (t : T) :
                  X.coeff t t [] = 1
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.coeff_self_cons {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (t : T) (x : α) (word : List α) :
                  X.coeff t t (x :: word) = 0
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.coeff_nil {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t : T) :
                  X.coeff s t [] = 1
                  theorem RoughPaths.AlgebraicRoughPath.IsWeaklyGeometric.shuffle {T : Type u} {α : Type v} {R : Type w} [Semiring R] {X : AlgebraicRoughPath T α R} (hX : X.IsWeaklyGeometric) (s t : T) (u v : List α) :
                  X.coeff s t u * X.coeff s t v = Word.shuffleCoeff (X.increment s t) u v
                  theorem RoughPaths.AlgebraicRoughPath.chen_eq {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t u : T) :
                  theorem RoughPaths.AlgebraicRoughPath.chen_coeff {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t u : T) (word : List α) :
                  X.coeff s u word = Word.coeff (Word.tensorProduct (X.increment s t) (X.increment t u)) word
                  theorem RoughPaths.AlgebraicRoughPath.increment_tensorProduct_reverse_coeff {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t : T) (word : List α) :
                  theorem RoughPaths.AlgebraicRoughPath.reverse_tensorProduct_increment_coeff {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t : T) (word : List α) :
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.increment_tensorProduct_reverse_coeff_cons {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t : T) (x : α) (word : List α) :
                  Word.coeff (Word.tensorProduct (X.increment s t) (X.increment t s)) (x :: word) = 0
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.reverse_tensorProduct_increment_coeff_cons {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t : T) (x : α) (word : List α) :
                  Word.coeff (Word.tensorProduct (X.increment t s) (X.increment s t)) (x :: word) = 0
                  theorem RoughPaths.AlgebraicRoughPath.chen_coeff_left_assoc {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t u v : T) (word : List α) :
                  theorem RoughPaths.AlgebraicRoughPath.chen_coeff_right_assoc {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t u v : T) (word : List α) :
                  theorem RoughPaths.AlgebraicRoughPath.chen_coeff_nil {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t u : T) :
                  X.coeff s u [] = X.coeff s t [] * X.coeff t u []
                  theorem RoughPaths.AlgebraicRoughPath.chen_coeff_cons {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t u : T) (x : α) (word : List α) :
                  X.coeff s u (x :: word) = Word.coeff (X.increment s t) [] * Word.coeff (X.increment t u) (x :: word) + (List.map (fun (p : List α × List α) => Word.coeff (X.increment s t) (x :: p.1) * Word.coeff (X.increment t u) p.2) (HopfAlgebras.Word.splits word)).sum
                  theorem RoughPaths.AlgebraicRoughPath.chen_agreeUpToDegree {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (s t u : T) (n : ) :
                  @[simp]
                  theorem RoughPaths.AlgebraicRoughPath.truncatedIncrement_self {T : Type u} {α : Type v} {R : Type w} [Semiring R] (X : AlgebraicRoughPath T α R) (t : T) (n : ) :