Truncated Log-Signatures #
This file adds tensor powers and finite tensor exponential/logarithm series for
word-indexed signatures. The logarithm is defined by applying the usual
finite log (1 + x) polynomial to the augmentation part of a signature.
The finite tensor exponential and logarithm are natural under relabelling of
the alphabet.
@[simp]
theorem
RoughPaths.Word.tensorProduct_zero_left
{α : Type u}
{R : Type v}
[Semiring R]
(a : List α → R)
:
@[simp]
theorem
RoughPaths.Word.tensorProduct_zero_right
{α : Type u}
{R : Type v}
[Semiring R]
(a : List α → R)
:
Tensor powers for the concatenation product.
Equations
Instances For
@[simp]
@[simp]
@[simp]
theorem
RoughPaths.Word.tensorPower_hasUnitEmpty
{α : Type u}
{R : Type v}
[Semiring R]
{a : List α → R}
(ha : HasUnitEmpty a)
(n : ℕ)
:
HasUnitEmpty (tensorPower a n)
theorem
RoughPaths.Word.agreeUpToDegree_tensorPower
{α : Type u}
{R : Type v}
[Semiring R]
{a b : List α → R}
{n : ℕ}
(h : AgreeUpToDegree a b n)
(k : ℕ)
:
AgreeUpToDegree (tensorPower a k) (tensorPower b k) n
theorem
RoughPaths.Word.coeff_augmentationPart_nil
{α : Type u}
{R : Type v}
[Ring R]
{a : List α → R}
(ha : HasUnitEmpty a)
:
@[simp]
theorem
RoughPaths.Word.agreeUpToDegree_augmentationPart
{α : Type u}
{R : Type v}
[Ring R]
{a b : List α → R}
{n : ℕ}
(h : AgreeUpToDegree a b n)
:
AgreeUpToDegree (augmentationPart a) (augmentationPart b) n
def
RoughPaths.Word.tensorExpTruncated
{α : Type u}
{R : Type v}
[Field R]
(a : List α → R)
(n : ℕ)
:
List α → R
Finite tensor exponential ∑_{k=0}^n a^{⊗k}/k!.
Equations
- RoughPaths.Word.tensorExpTruncated a n w = (List.map (fun (k : ℕ) => (↑k.factorial)⁻¹ * RoughPaths.Word.coeff (RoughPaths.Word.tensorPower a k) w) (List.range (n + 1))).sum
Instances For
@[simp]
theorem
RoughPaths.Word.tensorExpTruncated_zero
{α : Type u}
{R : Type v}
[Field R]
(a : List α → R)
:
theorem
RoughPaths.Word.agreeUpToDegree_tensorExpTruncated
{α : Type u}
{R : Type v}
[Field R]
{a b : List α → R}
{m n : ℕ}
(h : AgreeUpToDegree a b n)
:
AgreeUpToDegree (tensorExpTruncated a m) (tensorExpTruncated b m) n
@[simp]
@[simp]
theorem
RoughPaths.Word.tensorLogOnePlusTruncated_zero
{α : Type u}
{R : Type v}
[Field R]
(a : List α → R)
:
@[simp]
theorem
RoughPaths.Word.tensorLogOnePlusTruncated_zero_series
{α : Type u}
{R : Type v}
[Field R]
(n : ℕ)
:
theorem
RoughPaths.Word.agreeUpToDegree_tensorLogOnePlusTruncated
{α : Type u}
{R : Type v}
[Field R]
{a b : List α → R}
{m n : ℕ}
(h : AgreeUpToDegree a b n)
:
@[simp]
theorem
RoughPaths.Word.logSignatureTruncated_zero
{α : Type u}
{R : Type v}
[Field R]
(a : List α → R)
:
@[simp]
theorem
RoughPaths.Word.agreeUpToDegree_logSignatureTruncated
{α : Type u}
{R : Type v}
[Field R]
{a b : List α → R}
{m n : ℕ}
(h : AgreeUpToDegree a b n)
:
AgreeUpToDegree (logSignatureTruncated a m) (logSignatureTruncated b m) n
def
RoughPaths.Signature.logTruncated
{α : Type u}
{R : Type v}
[Field R]
(σ : Signature α R)
(n : ℕ)
:
List α → R
The truncated log-signature of a bundled signature.
Equations
- σ.logTruncated n = RoughPaths.Word.logSignatureTruncated (↑σ) n
Instances For
@[simp]
theorem
RoughPaths.Signature.logTruncated_zero
{α : Type u}
{R : Type v}
[Field R]
(σ : Signature α R)
:
def
RoughPaths.AlgebraicRoughPath.logIncrementTruncated
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
(X : AlgebraicRoughPath T α R)
(s t : T)
(n : ℕ)
:
List α → R
The truncated log-signature of an algebraic rough path increment.
Equations
- X.logIncrementTruncated s t n = RoughPaths.Word.logSignatureTruncated (X.increment s t) n
Instances For
@[simp]
theorem
RoughPaths.AlgebraicRoughPath.coeff_logIncrementTruncated
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
(X : AlgebraicRoughPath T α R)
(s t : T)
(n : ℕ)
(word : List α)
:
Word.coeff (X.logIncrementTruncated s t n) word = Word.coeff (Word.logSignatureTruncated (X.increment s t) n) word
@[simp]
theorem
RoughPaths.AlgebraicRoughPath.logIncrementTruncated_zero
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
(X : AlgebraicRoughPath T α R)
(s t : T)
:
@[simp]
theorem
RoughPaths.AlgebraicRoughPath.logIncrementTruncated_self
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
(X : AlgebraicRoughPath T α R)
(t : T)
(n : ℕ)
:
@[simp]
theorem
RoughPaths.AlgebraicRoughPath.coeff_logIncrementTruncated_self
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
(X : AlgebraicRoughPath T α R)
(t : T)
(n : ℕ)
(word : List α)
:
theorem
RoughPaths.AlgebraicRoughPath.AgreeUpToDegree.logIncrementTruncated
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
{X Y : AlgebraicRoughPath T α R}
{m n : ℕ}
(h : X.AgreeUpToDegree Y n)
(s t : T)
:
Word.AgreeUpToDegree (X.logIncrementTruncated s t m) (Y.logIncrementTruncated s t m) n
theorem
RoughPaths.AlgebraicRoughPath.AgreeUpToDegree.logIncrementTruncated_coeff
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
{X Y : AlgebraicRoughPath T α R}
{m n : ℕ}
(h : X.AgreeUpToDegree Y n)
(s t : T)
(word : List α)
(hword : word.length ≤ n)
:
theorem
RoughPaths.AlgebraicRoughPath.logIncrementTruncated_comapMapLetters
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
{β : Type z}
(f : α → β)
(X : AlgebraicRoughPath T β R)
(s t : T)
(n : ℕ)
:
(comapMapLetters f X).logIncrementTruncated s t n = Word.comapMapLetters f (X.logIncrementTruncated s t n)
theorem
RoughPaths.AlgebraicRoughPath.logIncrementTruncated_comapMapLetters_coeff
{T : Type u}
{α : Type v}
{R : Type w}
[Field R]
{β : Type z}
(f : α → β)
(X : AlgebraicRoughPath T β R)
(s t : T)
(n : ℕ)
(word : List α)
:
Word.coeff ((comapMapLetters f X).logIncrementTruncated s t n) word = Word.coeff (X.logIncrementTruncated s t n) (List.map f word)