Frameworking the vectorized basic linear algebra for prototyping codes in MATLAB
| dc.contributor.author | Moskovka, Alexej | |
| dc.contributor.author | Rahman, Talal | |
| dc.contributor.author | Valdman, Jan | |
| dc.contributor.author | Vatne, Jon Eivind | |
| dc.date.accessioned | 2026-04-30T18:06:28Z | |
| dc.date.available | 2026-04-30T18:06:28Z | |
| dc.date.issued | 2026 | |
| dc.date.updated | 2026-04-30T18:06:28Z | |
| dc.description.abstract | When writing high-performance code for numerical computations in a scripting language such as MATLAB, it is crucial to vectorize operations within large for-loops. However, this vectorization process often obscures the original mathematical structure, making the code less readable. This issue is particularly pronounced in finite element method (FEM) implementations, despite the inherently structured nature of FEM. A practical remedy is to decouple the vectorization layer from the mathematical logic of the code. This can be effectively achieved by building on top of already-vectorized basic linear algebra subprograms. Over the past 15 years, this idea has been applied in a series of works, resulting in fast, structured, and maintainable code. In this paper, we present a vectorized basic linear algebra package and introduce a formalism based on multilinear algebra to define and explain its functions. We also incorporate MATLAB’s recently introduced page-wise functions to enhance expressiveness. We provide examples such as computing normal vectors, volumes, and finite element assembly to demonstrate the clarity and efficiency of the approach. The resulting codes closely follow mathematical abstraction, facilitate reuse and extension, and support rapid development and prototyping by scientists, engineers, and students. | en |
| dc.format | 19 | |
| dc.identifier.document-number | 001608319300003 | |
| dc.identifier.doi | 10.1016/j.amc.2025.129778 | |
| dc.identifier.issn | 0096-3003 | |
| dc.identifier.obd | 43948741 | |
| dc.identifier.orcid | Moskovka, Alexej 0000-0003-0091-151X | |
| dc.identifier.orcid | Valdman, Jan 0000-0002-6081-5362 | |
| dc.identifier.orcid | Vatne, Jon Eivind 0000-0003-2330-5088 | |
| dc.identifier.uri | http://hdl.handle.net/11025/67930 | |
| dc.language.iso | en | |
| dc.relation.ispartofseries | Applied Mathematics and Computation | |
| dc.rights.access | C | |
| dc.subject | code vectorization | en |
| dc.subject | abstract linear algebra | en |
| dc.subject | tensor structures | en |
| dc.subject | triangular meshes | en |
| dc.subject | finite element method | en |
| dc.title | Frameworking the vectorized basic linear algebra for prototyping codes in MATLAB | en |
| dc.type | Článek v databázi WoS (Jimp) | |
| dc.type | ČLÁNEK | |
| dc.type.status | Published Version | |
| local.files.count | 1 | * |
| local.files.size | 4416372 | * |
| local.has.files | yes | * |
| local.identifier.eid | 2-s2.0-105019923693 |