The basic philosophy behind object-oriented program design is that programming consists of two distinct parts, `WHAT' and `HOW'. The WHAT part is defining the functionality and interraction between software modules (classes), while the HOW part provides algorithms and datastructures which are hidden within the class.
The main difference between the treatment of differential equations in pure and applied mathematics is that applied mathematics is being developed and presented in terms of concrete representations (i.e. specific coordinate systems), while pure mathematics has been more concerned with those properties of the mathematical objects which are independent of particular coordinate systems. Hence, it has been necessary to develop tools and languages for discussing differential equations in a coordinate-free setting.
Motivated by the needs of telling WHAT without telling HOW in object-oriented programming, we have for several years been investigating what we can benefit by using the tools and concepts of pure mathematics in scientific computing. This has recently led to significant new insights and new algorithms. The first major insight we gained by this approach was a new approach to tensor computations using the language of category theory. This approach has several advantages compared to the more familiar index-based approach to tensor computations. In particular the category-theoretical approach leads to much simpler computer programs for dealing with symmetries. More recently, we have studied numerical time integration of differential equations in a coordinate-free setting. This has lead to new algorithms based on Lie group actions on manifolds, and has now become a very active field of research.
In this talk we will give an introduction to this line of work, and discuss one of the topics in somewhat more detail.