9 votes

Design patterns in writing numerical software in C++

Having developed numerical software for 20 years now, I find that we've probably used the majority of the design patterns described in the Book by the Gang of Four (see here). At the end of the day, ...
Wolfgang Bangerth's user avatar
7 votes

Design patterns in writing numerical software in C++

I recommend this Matthew G Knepley. Programming languages for scientific computing. arXiv preprint arXiv:1209.1711, 2012 (https://arxiv.org/pdf/1209.1711.pdf) I also advise to look and read other ...
likask's user avatar
  • 906
4 votes

C++ template design pattern for groups (algebra)

Chapters 6 and 7 of Stepanov and Rose's book From Mathematics to generic programming deal precisely with what you asked. The first author is the designer of the C++ Standard Template Library.
Juan M. Bello-Rivas's user avatar
2 votes

C++ template design pattern for groups (algebra)

An earlier alternative to Stepanov's treatment of abstract algebra (including groups) is the one given in Barton and Nackman's "Scientific and Engineering C++". In more modern c++, the boost concept ...
NietzscheanAI's user avatar
1 vote

Solving Poisson equations as mixed Laplace using $RT_0-P_0$ pair

You need to use a different kind of indexing in l2g. Right now you are using the indices of the global vertices when deciding which rows and columns to fill. This ...
knl's user avatar
  • 2,096
1 vote

Building blocks for solving a vector valued problem

Your assembly procedure seems correct to me. I made some edits in your post to correct some possible typos. Feel free to raise objections. Looking at the graphs and their legends, I see the rate of ...
Zoltan Csati's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible