Information Technology Reference
In-Depth Information
Chapter 6
About Scientific Software
When a science problem is solved with the aid of numerical computations, the
solution procedure involves several steps:
1. Understanding the problem and formulating a mathematical model
2. Using numerical methods to solve the mathematical problems
3. Implementing the numerical methods in a computer program
4. Verifying that the results from the program are mathematically correct
5. Applying the program to the scientific problem and interpreting the results
Normally, this is a repetitive cycle: interpretation of the results often leads to
adjustments in the mathematical model, numerical methods, and the computer
program.
The cycle listed above typically has a “theory” part and 'a 'practice” part.
Most topics emphasize theory, i.e., deriving and analyzing mathematical models
and numerical methods. The practice part, consisting of translating the models and
methods to running code, producing numbers, and verifying the results, is equally
important and requires skills that must be developed systematically. The present
chapter provides the first steps toward gaining the necessary skills.
Scientific Software Requirements
Software performing scientific computations must be
1. Mathematically correct
2. Efficient (speed, memory usage)
3. Easy to maintain and extend
If there is an error in the program, the calculations will most likely be wrong and
the results will become useless. Many types of numerical computations demand
days or weeks of computing time and the combined memory of a large collec-
tion of computers. Efficiency with respect to speed and memory usage is thus of
utmost importance. Unfortunately, many efficiency improvements also easily intro-
duce errors in the code. The complexity of scientific software has reached the limit
Search WWH ::




Custom Search