Abstract :
Algebraic-topological k-chains defined over finite cell complexes have been proposed as a uniform computational means of representing physical objects, systems and properties. This article introduces Chains, a computer language whose basic datatypes are cells, cell complexes, and k-chains. To illustrate how Chains may be used in numerical computing, we develop a two page Chains program that completely specifies a finite element solution to plane strain, including symbolic definition of quadratic shape functions, the related “element stiffness matrices”, and an algebraic-topological specification of the assembly process. In contrast to a textbook derivation of the finite element method (which it closely resembles), this program is a fully formal finite element computation, and hence is a step towards the goal of improving the process of creating software for scientific computing by raising the semantic level at which physical systems are specified.