A new advance on dimensional-aware scalar, vector and matrix operations in C++
Eduard George Stan, Dan Andrei Ciubotaru, Michele Renda, and C\u{a}lin, Alexa

TL;DR
This paper introduces Univec, a C++ library that enables dimensional-aware scalar, vector, and matrix operations, supporting complex number systems and improving scientific computing accuracy.
Contribution
The paper presents Univec, a novel C++ library that enhances dimensional-aware computations for various mathematical objects and compares its performance with existing solutions.
Findings
Univec supports complex, quaternion, octonion, and sedenion operations.
Performance benchmarks show advantages over existing solutions.
The library improves accuracy and safety in scientific computations.
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Logic, programming, and type systems
