Logo del repository
  1. Home
 
Opzioni

LinearOperator – a generic, high-level expression syntax for linear algebra

Maier M.
•
Bardelloni M.
•
Heltai, Luca
2016
  • journal article

Periodico
COMPUTERS & MATHEMATICS WITH APPLICATIONS
Abstract
We introduce an expression syntax for the evaluation of matrix-matrix, matrix-vector and vector-vector operations. The implementation is similar to the well-known general concept of expression templates as used, for example, in the C++ linear-algebra libraries Eigen and Blaze. The novelty of the approach that is discussed here lies in the use of new C++11 features like lambda expressions and std::function objects that avoid the majority of the implementational complexity that usually comes with a pure template solution. A concrete implementation of the expression syntax has been developed within the framework of the finite-element library deal.II, but it is fairly generic: the LinearOperator implementation only requires a minimal vector and matrix interface, that all of deal.II's concrete vector and matrix types adhere to. This makes the interface fully transparent with respect to the concrete implementation, in particular to the storage strategy (full matrix, sparse structure), and memory strategy (local, shared, distributed). The paper concludes with a number of performance comparisons and examples that demonstrate that the framework results in efficient, short and concise code. The performance comparisons show that the overhead introduced by std::function objects is negligible for moderately sized matrices, even when compared to native expression-template implementations.
DOI
10.1016/j.camwa.2016.04.024
WOS
WOS:000378453000001
Archivio
http://hdl.handle.net/20.500.11767/11950
info:eu-repo/semantics/altIdentifier/scopus/2-s2.0-84971300521
Diritti
metadata only access
Soggetti
  • Expression templates,...

  • Settore MAT/08 - Anal...

Web of Science© citazioni
11
Data di acquisizione
Mar 28, 2024
Visualizzazioni
5
Data di acquisizione
Apr 19, 2024
Vedi dettagli
google-scholar
Get Involved!
  • Source Code
  • Documentation
  • Slack Channel
Make it your own

DSpace-CRIS can be extensively configured to meet your needs. Decide which information need to be collected and available with fine-grained security. Start updating the theme to match your nstitution's web identity.

Need professional help?

The original creators of DSpace-CRIS at 4Science can take your project to the next level, get in touch!

Realizzato con Software DSpace-CRIS - Estensione mantenuta e ottimizzata da 4Science

  • Impostazioni dei cookie
  • Informativa sulla privacy
  • Accordo con l'utente finale
  • Invia il tuo Feedback