Cargando…

A new advance on dimensional-aware scalar, vector and matrix operations in C++

We review the dimensional check problem of the high-level programming languages, discuss the existing solutions, and come up with a new solution suited for scientific and engineering computations. Then, we introduce Univec, our C++ library designed to make scalar, vector, and matrix operations using...

Descripción completa

Detalles Bibliográficos
Autores principales: Stan, Eduard George, Ciubotaru, Dan Andrei, Renda, Michele, Alexa, Călin
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Nature Publishing Group UK 2023
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10551037/
https://www.ncbi.nlm.nih.gov/pubmed/37794159
http://dx.doi.org/10.1038/s41598-023-43683-w
_version_ 1785115679406424064
author Stan, Eduard George
Ciubotaru, Dan Andrei
Renda, Michele
Alexa, Călin
author_facet Stan, Eduard George
Ciubotaru, Dan Andrei
Renda, Michele
Alexa, Călin
author_sort Stan, Eduard George
collection PubMed
description We review the dimensional check problem of the high-level programming languages, discuss the existing solutions, and come up with a new solution suited for scientific and engineering computations. Then, we introduce Univec, our C++ library designed to make scalar, vector, and matrix operations using units of measurement. Moreover, Univec supports dimensional-aware operations for complex numbers, quaternions, octonions, and sedenions. We provide tables of the relevant functions and operators implemented. Our library was compared with several existing solutions, and the results are shown in the performance section. Finally, we present our future plans for improving the current implementation.
format Online
Article
Text
id pubmed-10551037
institution National Center for Biotechnology Information
language English
publishDate 2023
publisher Nature Publishing Group UK
record_format MEDLINE/PubMed
spelling pubmed-105510372023-10-06 A new advance on dimensional-aware scalar, vector and matrix operations in C++ Stan, Eduard George Ciubotaru, Dan Andrei Renda, Michele Alexa, Călin Sci Rep Article We review the dimensional check problem of the high-level programming languages, discuss the existing solutions, and come up with a new solution suited for scientific and engineering computations. Then, we introduce Univec, our C++ library designed to make scalar, vector, and matrix operations using units of measurement. Moreover, Univec supports dimensional-aware operations for complex numbers, quaternions, octonions, and sedenions. We provide tables of the relevant functions and operators implemented. Our library was compared with several existing solutions, and the results are shown in the performance section. Finally, we present our future plans for improving the current implementation. Nature Publishing Group UK 2023-10-04 /pmc/articles/PMC10551037/ /pubmed/37794159 http://dx.doi.org/10.1038/s41598-023-43683-w Text en © The Author(s) 2023 https://creativecommons.org/licenses/by/4.0/Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) .
spellingShingle Article
Stan, Eduard George
Ciubotaru, Dan Andrei
Renda, Michele
Alexa, Călin
A new advance on dimensional-aware scalar, vector and matrix operations in C++
title A new advance on dimensional-aware scalar, vector and matrix operations in C++
title_full A new advance on dimensional-aware scalar, vector and matrix operations in C++
title_fullStr A new advance on dimensional-aware scalar, vector and matrix operations in C++
title_full_unstemmed A new advance on dimensional-aware scalar, vector and matrix operations in C++
title_short A new advance on dimensional-aware scalar, vector and matrix operations in C++
title_sort new advance on dimensional-aware scalar, vector and matrix operations in c++
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10551037/
https://www.ncbi.nlm.nih.gov/pubmed/37794159
http://dx.doi.org/10.1038/s41598-023-43683-w
work_keys_str_mv AT staneduardgeorge anewadvanceondimensionalawarescalarvectorandmatrixoperationsinc
AT ciubotarudanandrei anewadvanceondimensionalawarescalarvectorandmatrixoperationsinc
AT rendamichele anewadvanceondimensionalawarescalarvectorandmatrixoperationsinc
AT alexacalin anewadvanceondimensionalawarescalarvectorandmatrixoperationsinc
AT staneduardgeorge newadvanceondimensionalawarescalarvectorandmatrixoperationsinc
AT ciubotarudanandrei newadvanceondimensionalawarescalarvectorandmatrixoperationsinc
AT rendamichele newadvanceondimensionalawarescalarvectorandmatrixoperationsinc
AT alexacalin newadvanceondimensionalawarescalarvectorandmatrixoperationsinc