English

Specific "scientific" data structures, and their processing

Data Structures and Algorithms 2011-09-06 v1 Mathematical Software Programming Languages

Abstract

Programming physicists use, as all programmers, arrays, lists, tuples, records, etc., and this requires some change in their thought patterns while converting their formulae into some code, since the "data structures" operated upon, while elaborating some theory and its consequences, are rather: power series and Pad\'e approximants, differential forms and other instances of differential algebras, functionals (for the variational calculus), trajectories (solutions of differential equations), Young diagrams and Feynman graphs, etc. Such data is often used in a [semi-]numerical setting, not necessarily "symbolic", appropriate for the computer algebra packages. Modules adapted to such data may be "just libraries", but often they become specific, embedded sub-languages, typically mapped into object-oriented frameworks, with overloaded mathematical operations. Here we present a functional approach to this philosophy. We show how the usage of Haskell datatypes and - fundamental for our tutorial - the application of lazy evaluation makes it possible to operate upon such data (in particular: the "infinite" sequences) in a natural and comfortable manner.

Keywords

Cite

@article{arxiv.1109.0783,
  title  = {Specific "scientific" data structures, and their processing},
  author = {Jerzy Karczmarczuk},
  journal= {arXiv preprint arXiv:1109.0783},
  year   = {2011}
}

Comments

In Proceedings DSL 2011, arXiv:1109.0323

R2 v1 2026-06-21T18:59:37.156Z