Open jpfairbanks opened 4 years ago
Background info: This is a nice blog post by Jade. Many different kinds of dynamical systems can be seen as functors from a monoid (viewed as a one-object category) to a large category. Here are the ones that I know of:
I assume you can also do continuous-time Markov chains, but I haven't thought about this carefully. In all cases, natural transformations give a notion of morphism between the systems.
IIRC, Jade once told me that this definition of morphism for dynamical systems is somehow too strong. I don't remember the details, but we could ask her.
Presenting dynamical systems algebraically and/or composing them is an interesting idea. I'm not sure how to do it though. Where would the composition happen? In the underlying spaces of the dynamical systems? It would be good to come up with a few concrete examples where composition makes sense.
I think the discrete versions will be way easier especially the discrete time ones. We should use your suggestion about putting arbitrary Julia types into GATexpressions in order to implement all these dynamical systems as Functors. This is more evidence that GAT oriented programming is really cool.
If the Dynamical systems are functors, then the morphisms are natural transformations, right? So we can create cospan categories by taking two natural transformations with the same codomain? Ideally the structured/decorated cospan construction works and gives you the right kind of compositional structure.
Interesting, so if that works, composing the structured/decorated cospans would correspond to gluing along parts of the state spaces in a way that respects the dynamics.
We should ask Jade or John Baez whether they've thought about this. Seems like they might have.
I just started watching this talk: https://www.youtube.com/watch?v=8T-Km3taNko&feature=youtu.be
According to this blog post by Jade we can represent dynamical systems as a functor category from the reals to differentiable manifolds where the objects are ϕ: ℝ→Diff and the morphisms are natural transformations. Does this mean we could build a GAT for dynamical systems? Could we then take a presentation of a subcategory where we can express the natural transformations algebraically and then generate big dynamical systems compositionally?