On the Calculation of Functions in the Algebra of Physical Space
Clifford Algebra provides a concise and consistent language for physical science and numerical computations in physical science. A Clifford Algebra, such as the Algebra of Physical Space (Cl3) is a convenient alternative to Linear Algebra and Vector Calculus that is uniquely suited for use in a purely functional Programming Language. The Cl3 library is an example of the exploration of this concept written in the Haskell programming language. Single parameter type classes of Haskell’s Prelude can restrict the utility of Linear Algebra in Haskell where (Scalars, Vectors, and Quaternions, etc.) all have their own Type. Clifford Algebra’s powerful and unifying properties can consolidate many of the types of objects found in Linear Algebra into one Type the “Cliffor”. The unifying properties of Clifford Algebra’s are due to the existence of sub-algebras that exist within the algebra and the Geometric Product that defines multiplication of different graded elements. The Cl3 library exposes the sub-algebras and other geometric elements like vectors to the user as an Algebraic Data Type (ADT). This presentation will be about the efficient computation of arbitrary functions of Cliffors. The development of this library has been informed by the isomorphism between Cl3 and M(2,C). The “Ord” instance for comparison in Haskell was implemented by comparing the Reals in the typical way Reals are compared and providing a total preorder for the general case by comparing the larger and smaller singular values. Another way that the development of the library was informed by the isomorphism was in the calculation of functions of arbitrary Cliffors. A direct algorithm has been developed for the calculation of functions of Cliffors. The algorithm is specialized for single and double graded elements and for the general constructor of the Algebra of Physical Space. For non-nilpotent Cliffors a projective geometric method is described. For nilpotent Cliffors an analog of the Jordan Normal Form calculation of Matrix functions is described. A brief introduction to the Cl3 library will also be included in the presentation to support the description of the algorithm. Performance benchmarks will presented at the end.
Thu 27 SepDisplayed time zone: Guadalajara, Mexico City, Monterrey change
13:30 - 14:30 | Talks IIINPFL at Texas Special Chair(s): Jeremy Gibbons Department of Computer Science, University of Oxford | ||
13:30 30mTalk | A Haskell Interface to Sundials via inline-c NPFL Dominic Steinitz Tweag I/O | ||
14:00 30mTalk | On the Calculation of Functions in the Algebra of Physical Space NPFL Nathan Waivio https://github.com/waivio |