change actions
play

Change Actions Models of Generalised Differentiation Mario - PowerPoint PPT Presentation

Change Actions Models of Generalised Differentiation Mario Alvarez-Picallo C.-H. L. Ong Department of Computer Science, University of Oxford March 28, 2019 Mario Alvarez-Picallo, C.-H. L. Ong Change Actions Incremental computation with


  1. Change Actions Models of Generalised Differentiation Mario Alvarez-Picallo C.-H. L. Ong Department of Computer Science, University of Oxford March 28, 2019 Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  2. Incremental computation with derivatives Objective: compute the value of an (expensive) function f Input x changes over time: x 1 , x 2 , . . . How to update the value of f ( x ) as x i changes? Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  3. Incremental computation with derivatives Interpret the x i as applying successive “updates” δ x i to f an initial value x 1 : x i y i x 2 = x 1 ⊕ δ x 1 ∂ f δ x i δ y i x 3 = x 2 ⊕ δ x 2 . . . Find δ y i such that: f x i +1 y i +1 f ( x 2 ) = f ( x 1 ⊕ δ x 1 ) = f ( x 1 ) ⊕ δ y 1 f ( x 3 ) = f ( x 2 ⊕ δ x 2 ) = f ( x 2 ) ⊕ δ y 2 . . . Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  4. Change actions Change action A change action A (in a Cartesian category C ) is a tuple ( A , ∆ A , ⊕ , + , 0) such that: (∆ A , + , 0) is a monoid ⊕ : A × ∆ A → A is an action of ∆ A on A , i.e.: a ⊕ 0 = a 1 a ⊕ ( δ a + δ b ) = ( a ⊕ δ a ) ⊕ δ b 2 Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  5. Morphisms between change actions Change actions Given change actions A , B and a map f : A → B , a derivative for f is a function ∂ f : A × ∆ A → ∆ B such that: f ( a ⊕ δ a ) = f ( a ) ⊕ ∂ f ( a , δ a ) ∂ f ( a , 0 A ) = 0 B ∂ f ( a , δ a + δ b ) = ∂ f ( a , δ a ) + ∂ f ( a ⊕ δ a , δ b ) What we don’t require: Linearity Uniqueness! Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  6. Diagramatically: � f ◦ π 1 ,∂ f � A × ∆ A B × ∆ B ⊕ A ⊕ B A B f Condition 1 essentially says: ⊕ is a natural transformation! Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  7. The chain rule Theorem Given f : A → B , g : B → C differentiable maps with derivatives ∂ f , ∂ g , then ∂ g ( f ( a ) , ∂ f ( a , δ a )) is a derivative for g ◦ f � ( g ◦ f ) ◦ π 1 ,∂ g ◦� f ◦ π 1 ,∂ f �� � f ◦ π 1 ,∂ f � � g ◦ π 1 ,∂ g � A × ∆ A B × ∆ B C × ∆ C ⊕ A ⊕ B ⊕ C g f A B C g ◦ f Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  8. A category of change actions The category CAct ( C ) Given a Cartesian category C , we define the category CAct ( C ) as follows: Objects of CAct ( C ): all C -change actions A = ( A , ∆ A , ⊕ , + , 0) Morphisms f : A → B : pairs ( f , ∂ f ) of C -map f and derivative for f . Identities: Id = ( Id , π 2 ) Composition: chain rule! Lemma The above induces an endofunctor CAct : Cat × → Cat × Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  9. Products in CAct ( C ) Product of change actions Given change actions A , B , their product A × B is given by: A × B = ( A × B , ∆ A × ∆ B , ⊕ × , + × , 0 × ) ( a , b ) ⊕ × ( δ a , δ b ) = ( a ⊕ A δ a , b ⊕ B δ b ) ( δ a 1 , δ b 1 ) + × ( δ a 2 , δ b 2 ) = ( δ a 1 + A δ a 2 , δ b 1 + B δ b 2 ) 0 × = (0 A , 0 B ) Terminal object: ⊤ = ( ⊤ , ⊤ , . . . ) Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  10. Coproducts in CAct ( C ) Whenever C has (distributive) coproducts, so does CAct ( C )! Coproduct of change actions Given difference algebras A , B , their coproduct difference algebra A + B is given by: A + B = ( A + B , ∆ A × ∆ B , ⊕ + , + + , 0 + ) a ⊕ + ( δ a , δ b ) = a ⊕ A δ a b ⊕ + ( δ a , δ b ) = b ⊕ B δ b ( δ a 1 , δ b 1 ) + + ( δ a 2 , δ b 2 ) = ( da 1 + A δ a 2 , δ b 1 + B δ b 2 ) 0 + = (0 A , 0 B ) Initial object: ⊥ = ( ⊥ , ⊤ , . . . ) (Corollary: the derivative of a constant map is 0!) Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  11. Higher-order derivatives All derivatives so far: first-order! No ∂∂ f How to get higher order derivatives? Idea: make ∆ A a change action Change action models A change action model on a Cartesian category C is a section α : C → CAct ( C ) of the obvious forgetful functor ǫ , that is, α is a product-preserving functor from C into CAct ( C ) such that ε ◦ α = Id Notation: when A is a C -object, we use ∆ A , ⊕ , + , 0 for those in α ( A ) - same for f . Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  12. Higher-order derivatives Some consequences of the previous definition: Higher-order derivatives f : A → B ⇒ α ( f ) = ( f , ∂ f ) : α ( A ) → α ( B ) ∂ f : A × ∆ A → ∆ B ⇒ α ( ∂ f ) = ( ∂ f , ∂ 2 f ) : α ( A × ∆ A ) → α (∆ B ) ∂ 2 f : ( A × ∆ A ) × (∆ A × ∆ 2 A ) → ∆ 2 B ⇒ . . . “Structure” maps are all differentiable ∂ ⊕ , ∂ + , . . . “Tangent bundle” functor T (in fact a monad) T A = A × ∆ A T f = � f ◦ π 1 , ∂ f � Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  13. Internalization Whenever C is a CCC, there is a morphism d : ( A ⇒ B ) → ( A × ∆ A ) ⇒ ∆ B such that, for every map f : A → B , we have d ◦ Λ f = Λ( ∂ f ) Essentially: the derivative operator is itself a C -map Lemma When T is representable, the tangent bundle T ( A ⇒ B ) is naturally isomorphic to A ⇒ T B . Furthermore, the following diagram commutes: ∼ = T ( A ⇒ B ) A ⇒ T ( B ) ⊕ A ⇒ B Id A ⇒⊕ B A ⇒ B Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  14. Examples of change action models Are there actually any such objects? Yes! “Free” models Cartesian differential categories (somewhat) Calculus on groups Commutative Kleene algebras Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  15. “Free” models Problem: CAct ( C ) doesn’t have enough “higher” structure Solution: just add it! ω -change actions The category of ω -change actions on C CAct ω ( C ) is defined as the limit in Cat × of the following diagram: CAct ω ( C ) ε ε ε CAct 2 ( C ) CAct 3 ( C ) CAct ( C ) . . . ξ ξ ξ When you unpack it - very similar to F´ aa di Bruno (Cockett, Seely 2011) Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  16. “Free” models Two “forgetful” functors ε : CAct ( C ) → C ε ( A , ∆ A , ⊕ , + , 0) = A ξ : CAct 2 ( C ) → CAct ( C ) ξ (( A , . . . ) , (∆ A , . . . ) , ⊕ , + , 0) = ( A , ∆ A , ⊕ , + , 0) Intuitively: ε forgets the higher structure, ξ prefers it The canonical model There is a “canonical” change action model γ : CAct ω ( C ) → CAct ( CAct ω ( C )). Furthermore, whenever C is a CCC then so is CAct ω , and the tangent bundle functor T is representable. Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  17. F or all change action models on C , α : C → CAct ( C ), there is a unique functor α ω : C → CAct ω ( C ) making the following diagram commute α C CAct ( C ) ∃ ! α ω CAct ( α ω ) γ CAct ω ( C ) CAct ( CAct ω ( C )) Intuitively: every change action model on C can be understood entirely through its embedding into CAct ω ( C ) Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  18. Models from Cartesian differential categories Cartesian differential categories (Blute, Cockett, Seely 2009) Axiomatise abstract derivatives Examples: smooth maps between vector spaces Recent generalisation (Cruttwell 2017) Generalised Cartesian differential category (Cruttwell 2017) A generalised Cartesian differential category is a Cartesian category C and: For every object A , a commutative monoid ( L ( A ) , + , 0) For every map f : A → B , a map Df : A × L ( A ) → L ( B ) Some equations... Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  19. Models from Cartesian differential categories Lemma In a GCDC, define the tangent bundle functor T by: T A = A × L ( A ) T f = � f ◦ π 1 , Df � T is a monad in C Kleisli category of T : “generalised vector fields” Theorem Given a GCDC C , the Kleisli category C T A can be extended to a change action model Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  20. Calculus on groups The category CGrp The category CGrp is defined by: The objects of CGrp are groups (in Set ) A morphism f : ( A , + A , 0 A ) → ( B , + B , 0 B ) is a (set-theoretic) function f : A → B Theorem The category CGrp can be extended to a change action model by defining α : CGrp → CAct ( CGrp ) as follows: α ( A , + A , 0 A ) = ( A , A , + A , + A , 0 A ) α ( f )( a , δ a ) = − f ( a ) + f ( a + δ a ) Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  21. Calculus on groups Seemingly trivial, but already studied...under two different names! Boolean differential calculus (Steinbach 2017) Calculus on Boolean algebras Treat Boolean algebra like a group with XOR Differential of f : f ( x ) XOR f ( x XOR dx ) Precisely derivatives in ( B , B , XOR , XOR , 0) Calculus of finite differences (Jordan 1965) Calculus techniques on integers Finite difference operator ∆ f ( x ) = f ( x + 1) − f ( x ) Precisely derivatives in ( Z , Z , + , + , 0) evaluated “along” 1 We recover the chain rule! Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

  22. Commutative Kleene algebras Derivatives of polynomials on CKAs Let K be a commutative Kleene algebra. Given a polynomial p = p ( x ) on K , we define its i-th derivative ∂ p ∂ x i ( x ) ∈ K [ x ]: ∂ p ⋆ ( x ) = p ⋆ ( x ) ∂ p ( x ) ∂ x i ∂ x i ∂ ( p + q ) ( x ) = ∂ p ( x ) + ∂ q ( x ) ∂ x i ∂ x i ∂ x i ∂ ( p q ) ( x ) = p ( x ) ∂ q ( x ) + q ( x ) ∂ p ( x ) ∂ x i ∂ x i ∂ x i Taylor’s formula (Hopkins, Kozen 1999) Whenever p ( x ) ∈ K [ x ], we have p ( a + b ) = p ( a ) + b ∂ p ∂ x ( a + b ) Mario Alvarez-Picallo, C.-H. L. Ong Change Actions

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend