Preserving model structure and constraints in scientific computing

Alistair Forbes *, Keith Lines, Fredrik Nordvall Forsberg, Conor McBride, Andre Videla

*Corresponding author for this work

Research output: Contribution to journalConference articlepeer-review

Abstract

In this paper, we look at how model structure and constraints can be incorporated into scientific computing using functional programming and, implicitly, category theory, in a way that constraints are automatically satisfied. Category theory is the study of different types of objects (e.g., sets, groups, vector spaces) and mappings between them (e.g., functions, homomorphisms, matrices) and is used in mathematics to model the underlying structure associated with systems we wish to describe and how this underlying structure is preserved under transformations. In this paper, we look at the structure associated with the representation of, and calculations using, quantitative data. In particular, we describe how measurement data can be represented in terms of the product C × D of two groups: the first, C, the counting algebra, and the second, D, the dimension algebra. Different but equivalent unit systems are related through group isomorphisms. The structure associated with this representation can be embedded in software using functional programming.
Original languageEnglish
Article number101796
JournalMeasurement: Sensors
Early online date21 Jan 2025
DOIs
Publication statusE-pub ahead of print - 21 Jan 2025

Funding

This work was undertaken jointly by the Mathematically Structured Programming Group of the University of Strathclyde and the National Physical Laboratory’s Data Science department funded by the UK’s National Measurement System programme for Data Science 2023–2024 as part of the Tools for Trustworthiness project.

Keywords

  • Dimensioned variable
  • Functional programming
  • Numerical computation
  • Units of measurement

Fingerprint

Dive into the research topics of 'Preserving model structure and constraints in scientific computing'. Together they form a unique fingerprint.

Cite this