Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach

One of the major inventions of the 20th century was no doubt the digital computer. This invention has enabled us not only to store huge amounts of information in easily accessible memory devices but also to complete huge computational tasks that had never been tackled before. This turning point in technology opened up new horizons in science, industry, and commercial services.
The invention of the digital computer completely transformed scientific and technological development in the modern world. The human mind no longer needs to be occupied with technical calculations that can be left to the computer and can enjoy much more freedom and time to develop ideas and theories.
Unlike the calculation machine built by Pascal in the 17th century, which is limited to arithmetic calculations, the digital computer is a general-purpose computer: it can in principle solve every computable problem, provided that the required data and solution method (algorithm) are available to it. Therefore, in order to benefit from the full capacity of the computer, there is a need to describe the problem and its solution method in its own language. This is the art of programming.
The algorithm to solve a computational problem is actually a finite sequence of instructions. At first, these instructions can be written in natural (human) language, which the computer cannot understand. The original algorithm is then rewritten in the computer s own language to form a...