Preserving model structure and constraints in scientific computing

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, gr...

Full description

Saved in:
Bibliographic Details
Published in:Measurement. Sensors Vol. 38; p. 101796
Main Authors: Forbes, Alistair, Lines, Keith, Forsberg, Fredrik Nordvall, McBride, Conor, Videla, Andre
Format: Journal Article
Language:English
Published: Elsevier Ltd 01.05.2025
Subjects:
ISSN:2665-9174, 2665-9174
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
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.
AbstractList 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.
ArticleNumber 101796
Author Forbes, Alistair
Videla, Andre
Forsberg, Fredrik Nordvall
McBride, Conor
Lines, Keith
Author_xml – sequence: 1
  givenname: Alistair
  surname: Forbes
  fullname: Forbes, Alistair
  email: alistair.forbes@npl.co.uk
  organization: National Physical Laboratory, Teddington, UK
– sequence: 2
  givenname: Keith
  surname: Lines
  fullname: Lines, Keith
  organization: National Physical Laboratory, Teddington, UK
– sequence: 3
  givenname: Fredrik Nordvall
  surname: Forsberg
  fullname: Forsberg, Fredrik Nordvall
  organization: University of Strathclyde, Glasgow, UK
– sequence: 4
  givenname: Conor
  surname: McBride
  fullname: McBride, Conor
  organization: University of Strathclyde, Glasgow, UK
– sequence: 5
  givenname: Andre
  surname: Videla
  fullname: Videla, Andre
  organization: University of Strathclyde, Glasgow, UK
BookMark eNp9kE1OwzAQhS1UJErpDVjkAglj13GSDRJU_EmVYAFry7XHyFHjVLZTiduTEBasWM1o5r2nme-SLHzvkZBrCgUFKm7aokMV0RcMGJ9GVSPOyJIJUeYNrfjiT39B1jG2AMDqUcj4kty_BYwYTs5_Zl1v8JDFFAadhoCZ8ibTvR8HyvkUM-ezqB365KzT46Y7Dmn0XZFzqw4R1791RT4eH963z_nu9elle7fLNaNC5HUDFaOmMRZ0XQPojbKlUUJRBAp7tFzsuWFgOWfMGC5KaKyqkfFJpurNivA5V4c-xoBWHoPrVPiSFOSEQrZyRiEnFHJGMdpuZxuOt50cBvnzhEbjAuokTe_-D_gGhvprzg
Cites_doi 10.1088/0026-1394/51/4/S183
10.1016/0263-2241(84)90020-4
10.1371/journal.pone.0024274
10.21014/actaimeko.v12i1.1412
10.1016/0096-0551(77)90010-8
ContentType Journal Article
Copyright 2024
Copyright_xml – notice: 2024
DBID 6I.
AAFTH
AAYXX
CITATION
DOI 10.1016/j.measen.2024.101796
DatabaseName ScienceDirect Open Access Titles
Elsevier:ScienceDirect:Open Access
CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
EISSN 2665-9174
ExternalDocumentID 10_1016_j_measen_2024_101796
S2665917424007724
GroupedDBID 0R~
53G
6I.
AAEDW
AAFTH
AALRI
AAXUO
AAYWO
ACVFH
ADCNI
ADVLN
AEUPX
AFJKZ
AFPUW
AIGII
AITUG
AKBMS
AKYEP
ALMA_UNASSIGNED_HOLDINGS
AMRAJ
APXCP
EBS
EJD
FDB
GROUPED_DOAJ
M41
M~E
OK1
ROL
AAYXX
CITATION
ID FETCH-LOGICAL-c2166-890721d9df0c8800c3af5da6a1e010bef46b4d20f4422dd46509fa8e24f5daa83
ISSN 2665-9174
IngestDate Sat Nov 29 07:44:31 EST 2025
Sat Aug 16 17:02:35 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Keywords Numerical computation
Functional programming
Dimensioned variable
Units of measurement
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c2166-890721d9df0c8800c3af5da6a1e010bef46b4d20f4422dd46509fa8e24f5daa83
OpenAccessLink http://dx.doi.org/10.1016/j.measen.2024.101796
ParticipantIDs crossref_primary_10_1016_j_measen_2024_101796
elsevier_sciencedirect_doi_10_1016_j_measen_2024_101796
PublicationCentury 2000
PublicationDate May 2025
2025-05-00
PublicationDateYYYYMMDD 2025-05-01
PublicationDate_xml – month: 05
  year: 2025
  text: May 2025
PublicationDecade 2020
PublicationTitle Measurement. Sensors
PublicationYear 2025
Publisher Elsevier Ltd
Publisher_xml – name: Elsevier Ltd
References Bennich-Bjorkman, McKeever (bib18) 2018
Nielsen (bib4) 2014; 51
Finkelstein, Leaning (bib9) 1984; 2
Kennedy (bib17) 2010
Lambek, Scott (bib7) 1986
McBride, Nordvall Forsberg (bib20) 2022; vol. XII
Forbes (bib21) 2009
Spivak (bib2) 2013
(bib13) 2019
Golub, Van Loan (bib23) 2013
Alvin Howard (bib6) 1980
Hart (bib10) 1995
Spivak, Ologs (bib8) January 2012; 7
Gehani (bib15) January 1977; 2
Hall (bib19) 2022
Gill, Murray, Wright (bib22) 1981
(bib25) 2011; 102
McBride, Nakov, Forsberg (bib26) 2023; 12
MacLane (bib1) 1971; vol. 5
Hanisch, Chalk, Coulon, Cox, Emmerson (bib12) May 2022; 605
Thompson, Taylor (bib14) 2008
Hansen, Rischel (bib16) 2013
Hall (bib11) January 2002, 2002
McBride, Nakov, Nordvall Forsberg (bib3) 2022
(bib24) 2008; 100
Brooks Curry, Feys (bib5) 1958; vol. 1
McBride, Nakov, Nordvall Forsberg, Videla, Forbes, Lines (bib27) August, 2024
Spivak (10.1016/j.measen.2024.101796_bib8) 2012; 7
Nielsen (10.1016/j.measen.2024.101796_bib4) 2014; 51
McBride (10.1016/j.measen.2024.101796_bib20) 2022; vol. XII
Finkelstein (10.1016/j.measen.2024.101796_bib9) 1984; 2
Hall (10.1016/j.measen.2024.101796_bib19) 2022
Hart (10.1016/j.measen.2024.101796_bib10) 1995
Hanisch (10.1016/j.measen.2024.101796_bib12) 2022; 605
Spivak (10.1016/j.measen.2024.101796_bib2) 2013
McBride (10.1016/j.measen.2024.101796_bib27) 2024
Alvin Howard (10.1016/j.measen.2024.101796_bib6) 1980
Hall (10.1016/j.measen.2024.101796_bib11) 2002
Gill (10.1016/j.measen.2024.101796_bib22) 1981
MacLane (10.1016/j.measen.2024.101796_bib1) 1971; vol. 5
McBride (10.1016/j.measen.2024.101796_bib3) 2022
(10.1016/j.measen.2024.101796_bib24) 2008; 100
Golub (10.1016/j.measen.2024.101796_bib23) 2013
(10.1016/j.measen.2024.101796_bib13) 2019
Bennich-Bjorkman (10.1016/j.measen.2024.101796_bib18) 2018
Gehani (10.1016/j.measen.2024.101796_bib15) 1977; 2
Brooks Curry (10.1016/j.measen.2024.101796_bib5) 1958; vol. 1
Hansen (10.1016/j.measen.2024.101796_bib16) 2013
Lambek (10.1016/j.measen.2024.101796_bib7) 1986
(10.1016/j.measen.2024.101796_bib25) 2011; 102
Thompson (10.1016/j.measen.2024.101796_bib14) 2008
Forbes (10.1016/j.measen.2024.101796_bib21) 2009
Kennedy (10.1016/j.measen.2024.101796_bib17) 2010
McBride (10.1016/j.measen.2024.101796_bib26) 2023; 12
References_xml – volume: 102
  start-page: 2011
  year: 2011
  ident: bib25
  article-title: Evaluation of measurement data — supplement 2 to the “Guide to the expression of uncertainty in measurement” — extension to any number of output quantities
  publication-title: Joint Committee for Guides in Metrology, JCGM
– volume: 7
  year: January 2012
  ident: bib8
  article-title: A categorical framework for knowledge representation
  publication-title: PLoS One
– year: 2013
  ident: bib16
  article-title: Functional Programming Using F♯
– year: 1980
  ident: bib6
  article-title: The formulae-as-types notion of construction
  publication-title: Essays on Combinatory Logic, Lambda Calculus, and Formalism
– year: 1986
  ident: bib7
  article-title: Introduction to Higher Order Categorical Logic
– start-page: 273
  year: 2022
  end-page: 284
  ident: bib19
  article-title: Software representation of measured physical quantities
  publication-title: Advanced Mathematical Tools in Metrology and Testing, XII
– year: 2022
  ident: bib3
  article-title: Expressive type systems for metrology
  publication-title: IMEKO TC6 International Conference on Metrology and Digital Transformation
– year: 1995
  ident: bib10
  article-title: Multidimensional Analysis: Algebras and Systems for Science and Engineering
– start-page: 268
  year: 2010
  end-page: 305
  ident: bib17
  article-title: Types for units-of-measure: theory and practice
  publication-title: Central European Functional Programming School: Hungary, May 21-23, 2009
– volume: vol. XII
  start-page: 331
  year: 2022
  end-page: 345
  ident: bib20
  article-title: Type systems for programs respecting dimensions
  publication-title: Advanced Mathematical Tools in Metrology
– year: 2019
  ident: bib13
  article-title: The International System of Units (SI Brochure (EN))
– start-page: 147
  year: 2009
  end-page: 176
  ident: bib21
  article-title: Parameter estimation based on least squares methods
  publication-title: Data Modeling for Metrology and Testing in Measurement Science
– volume: vol. 5
  year: 1971
  ident: bib1
  publication-title: Categories for the Working Mathematician
– volume: 12
  year: 2023
  ident: bib26
  article-title: Measuring with confidence: leveraging expressive type systems for correct-by-construction software
  publication-title: Acta IMEKO
– year: 2013
  ident: bib2
  article-title: Category Theory for Scientists
– volume: vol. 1
  year: 1958
  ident: bib5
  publication-title: Combinatory Logic
– year: January 2002, 2002
  ident: bib11
  article-title: Software support for physical quantities
  publication-title: Proceedings of the 9th Electronics New Zealand Conference
– volume: 605
  year: May 2022
  ident: bib12
  article-title: Unclear units stymie science
  publication-title: Nature
– year: 2008
  ident: bib14
  article-title: NIST Special Publication 811: Guide for the Use of the International System of Units (SI)
– start-page: 26
  year: August, 2024
  end-page: 29
  ident: bib27
  article-title: LabMate: a prospectus for types for MATLAB
  publication-title: IMEKO World Congress
– start-page: 121
  year: 2018
  end-page: 132
  ident: bib18
  article-title: The next 700 unit of measurement checkers
  publication-title: Software Language Engineering
– year: 2013
  ident: bib23
  article-title: Matrix Computations
– year: 1981
  ident: bib22
  article-title: Practical Optimization
– volume: 100
  start-page: 2008
  year: 2008
  ident: bib24
  article-title: Evaluation of measurement data — guide to the expression of uncertainty in measurement
  publication-title: Joint Committee for Guides in Metrology, JCGM
– volume: 51
  start-page: S183
  year: 2014
  ident: bib4
  article-title: Evaluation of mass measurements in accordance with the GUM
  publication-title: Metrologia
– volume: 2
  start-page: 25
  year: 1984
  end-page: 34
  ident: bib9
  article-title: A review of the fundamental concepts of measurement
  publication-title: Measurement
– volume: 2
  start-page: 93
  year: January 1977
  end-page: 111
  ident: bib15
  article-title: Units of measure as a data attribute
  publication-title: Comput. Lang.
– volume: 51
  start-page: S183
  year: 2014
  ident: 10.1016/j.measen.2024.101796_bib4
  article-title: Evaluation of mass measurements in accordance with the GUM
  publication-title: Metrologia
  doi: 10.1088/0026-1394/51/4/S183
– year: 1980
  ident: 10.1016/j.measen.2024.101796_bib6
  article-title: The formulae-as-types notion of construction
– volume: vol. XII
  start-page: 331
  year: 2022
  ident: 10.1016/j.measen.2024.101796_bib20
  article-title: Type systems for programs respecting dimensions
– volume: 2
  start-page: 25
  issue: 1
  year: 1984
  ident: 10.1016/j.measen.2024.101796_bib9
  article-title: A review of the fundamental concepts of measurement
  publication-title: Measurement
  doi: 10.1016/0263-2241(84)90020-4
– volume: vol. 1
  year: 1958
  ident: 10.1016/j.measen.2024.101796_bib5
– volume: 102
  start-page: 2011
  year: 2011
  ident: 10.1016/j.measen.2024.101796_bib25
  article-title: Evaluation of measurement data — supplement 2 to the “Guide to the expression of uncertainty in measurement” — extension to any number of output quantities
  publication-title: Joint Committee for Guides in Metrology, JCGM
– volume: 100
  start-page: 2008
  year: 2008
  ident: 10.1016/j.measen.2024.101796_bib24
  article-title: Evaluation of measurement data — guide to the expression of uncertainty in measurement
  publication-title: Joint Committee for Guides in Metrology, JCGM
– volume: vol. 5
  year: 1971
  ident: 10.1016/j.measen.2024.101796_bib1
– year: 2019
  ident: 10.1016/j.measen.2024.101796_bib13
– year: 2022
  ident: 10.1016/j.measen.2024.101796_bib3
  article-title: Expressive type systems for metrology
– volume: 605
  year: 2022
  ident: 10.1016/j.measen.2024.101796_bib12
  article-title: Unclear units stymie science
  publication-title: Nature
– start-page: 26
  year: 2024
  ident: 10.1016/j.measen.2024.101796_bib27
  article-title: LabMate: a prospectus for types for MATLAB
– volume: 7
  issue: 1
  year: 2012
  ident: 10.1016/j.measen.2024.101796_bib8
  article-title: A categorical framework for knowledge representation
  publication-title: PLoS One
  doi: 10.1371/journal.pone.0024274
– volume: 12
  issue: 1
  year: 2023
  ident: 10.1016/j.measen.2024.101796_bib26
  article-title: Measuring with confidence: leveraging expressive type systems for correct-by-construction software
  publication-title: Acta IMEKO
  doi: 10.21014/actaimeko.v12i1.1412
– year: 1995
  ident: 10.1016/j.measen.2024.101796_bib10
– year: 2013
  ident: 10.1016/j.measen.2024.101796_bib16
– year: 2013
  ident: 10.1016/j.measen.2024.101796_bib2
– start-page: 268
  year: 2010
  ident: 10.1016/j.measen.2024.101796_bib17
  article-title: Types for units-of-measure: theory and practice
– year: 1986
  ident: 10.1016/j.measen.2024.101796_bib7
– start-page: 121
  year: 2018
  ident: 10.1016/j.measen.2024.101796_bib18
  article-title: The next 700 unit of measurement checkers
– start-page: 147
  year: 2009
  ident: 10.1016/j.measen.2024.101796_bib21
  article-title: Parameter estimation based on least squares methods
– volume: 2
  start-page: 93
  issue: 3
  year: 1977
  ident: 10.1016/j.measen.2024.101796_bib15
  article-title: Units of measure as a data attribute
  publication-title: Comput. Lang.
  doi: 10.1016/0096-0551(77)90010-8
– year: 2008
  ident: 10.1016/j.measen.2024.101796_bib14
– year: 2002
  ident: 10.1016/j.measen.2024.101796_bib11
  article-title: Software support for physical quantities
– year: 1981
  ident: 10.1016/j.measen.2024.101796_bib22
– start-page: 273
  year: 2022
  ident: 10.1016/j.measen.2024.101796_bib19
  article-title: Software representation of measured physical quantities
– year: 2013
  ident: 10.1016/j.measen.2024.101796_bib23
SSID ssj0002810124
Score 2.290026
Snippet In this paper, we look at how model structure and constraints can be incorporated into scientific computing using functional programming and, implicitly,...
SourceID crossref
elsevier
SourceType Index Database
Publisher
StartPage 101796
SubjectTerms Dimensioned variable
Functional programming
Numerical computation
Units of measurement
Title Preserving model structure and constraints in scientific computing
URI https://dx.doi.org/10.1016/j.measen.2024.101796
Volume 38
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVAON
  databaseName: DOAJ Directory of Open Access Journals
  customDbUrl:
  eissn: 2665-9174
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0002810124
  issn: 2665-9174
  databaseCode: DOA
  dateStart: 20190101
  isFulltext: true
  titleUrlDefault: https://www.doaj.org/
  providerName: Directory of Open Access Journals
– providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2665-9174
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0002810124
  issn: 2665-9174
  databaseCode: M~E
  dateStart: 20190101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9QwELaWwgEOiKcoj8oHbiirXa-T2Me2YoVEqTgUqbco6wekFKfKLlVPSPxzZuw4DrCq6IFLtLK83qzn03g8_vwNIa_nuCYbZjPLYW_Cy4XJhLYisyqH4KRURSH8ReGj8vhYnJ7Kj5PJz3gX5vK8dE5cXcmL_2pqaANj49XZG5h7GBQa4DMYHZ5gdnj-k-GRVIEOwH0OZW7eBInYeFCgMCDEuhAbz4QNFyKRL-TZ5d83cSmLVZ5SDnEKjsWt23T8s2y7VfAy--cYhjYD0feo6SsAvDfN5suo_zrSyZad0V3zFc-NNPz7xE5UB10TpIAPW9d246wEyxMHMDgvWPexBmSowDM1W9p67xu0XXr36f1DsdWzhyTD2fQbnlqhcC3j09T9dyHtPxa4gXYYGW1nVRilwlGqMMotcpuVuURW4IcfKU3HvAAachOGt48XMD1L8O_X2R7gjIKWkwfkfr_boPsBJQ_JxLhH5N5Ig_IxOUh4oR4vdMALBbzQEV5o42jCCx3w8oR8Wr49OXyX9YU1MsXmRZEJiap4Wmo7U-C_Z2pR21zXRT03sD1fGcuLFddsZjlnTGuOKou2FoZx7FaLxVOy41pnnhGaMy1nTGpW15xLwyRfMWNMIWploG-5S7I4G9VF0E-prjPDLinjlFV9DBhiuwqAcO03n9_wl16Quwm4L8kOzK15Re6oy02z7vZ8bmbPY-EXS9yBdw
linkProvider ISSN International Centre
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Preserving+model+structure+and+constraints+in+scientific+computing&rft.jtitle=Measurement.+Sensors&rft.au=Forbes%2C+Alistair&rft.au=Lines%2C+Keith&rft.au=Forsberg%2C+Fredrik+Nordvall&rft.au=McBride%2C+Conor&rft.date=2025-05-01&rft.issn=2665-9174&rft.eissn=2665-9174&rft.volume=38&rft.spage=101796&rft_id=info:doi/10.1016%2Fj.measen.2024.101796&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_measen_2024_101796
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2665-9174&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2665-9174&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2665-9174&client=summon