ABSTRACT

Systematic verification of the results of numerical algorithms is one of the most important and at the same time one of the most neglected tasks in the development of such algorithms. On the one hand, there is the well-established field of software engineering that studies how to design and verify large software systems so that they adhere to formal specifications (see, e.g., Sommerville (2010)). On the other hand, the verification of the exactness of numerical results is obviously restricted to problems for which the correct solution is well-known a priori. Moreover, in order to be able to verify the results in the general case, there is need for such correct solutions for all degrees of difficulty. For this, one has to fully understand the numerical problem to be solved, and there has to be a general theory for the generation of test problems with known solutions. For this purpose, a systematic approach is necessary, i.e. some sort of an experimental design of testing. Testing sporadic examples will likely show a completely distorted image. In particular, the wellestablished practice of testing new algorithms on standard problems from literature does not in any way assess the general capabilities of the algorithm under test.