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
Descripción
Sumario: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.