Math 181-Fall 2001
Instructor: E. Arthur Robinson, Jr.
Lecture 1
What is Computational Mathematics

 
 




What is "Computational Mathematics?"



Answer 1: Computational Mathematics can be defined in terms of its relation to computational science,
but what is that?

The idea of Computational Science--as a discipline in its own right--has recently emerged, encouraged by some of the National Laboratories (Oak Ridge,Los Alamos, Sandia). The idea has also caught on in some academic circles.

The idea is that computational science has actually been practiced for a long time (perhaps hundreds of years), but that previously practitioners were not identified as "Computational Scientists".

The idea is that computational science is a mode of doing science based on computing and thus a computational scientist is a scientist who uses computing in her/his work in a fundamental way.

"In broad terms [Computational Science] is about using computers to analyze scientific problems."----CSEPElectronic Book, Oak Ridge National Laboratory


This point of view (which seems to use Physics as its model) holds that traditionally scientists have been either: Now (i.e. with widely available computer technology), scientists can also be

        computational scientists.


Here is an example that illustrates this concept:

J. Zachary (Introduction to Scientific Programming) considers the following:


         Kepler's laws:

  1. planetary orbits are ellipses with sun at one focus.

  2.  
  3. The line between a planet and the sun sweeps equal areas in equal time.

  4.  
  5. The square of the orbital period is proportional to the cube of the average distance to the sun

Zachary's point is that in this story:


Kepler was able to take Brahe's data and by computing (the old fashioned way, with pencil and paper) find relationships within it. His laws essentially explained how to generate the data computationally, without trying to explain why. In a sence it reduced Brahe's data to the smaller amount of "data" needed to express (and implement) Kepler's laws. Without Kepler's laws it is doubtful we would have Newton's laws.





There are two ways to fit "Computational Mathematics" into this framework.
  1. It is the computational part of the science of Mathematics.
  2. It is the mathematical part of of Computational Science in general.
These ideas are really complementary since the sciences likely to have computational parts are likely to be at least somewhat mathematical in nature.


Some problems with this model:

The notion of experimental, computational, and theoretical science does not fit all sciences equally well. In particular, if Mathematics has an experimental branch, it is probably part of it's computational branch.

We don't want to take the term "science" so literally as to be exclusive.



Here are some "sciences" that have computational branches:
    Physical science:
    physics, astronomy, chemistry, earth sciences

    Biological science:
    genetics, neuroscience, molecular biology

    Engineering science:
    electrical, mechanical, computer, environmental

    Mathematical science:
    mathematics, statistics, operations research

    Social science:
    economics, finance, demography, political


What is computational mathematics?


Answer 2: What computational mathematics is actually about.


Here are some closely related areas that computational mathematics is composed of:



We consider each in turn:

Computer Science

Broad definition: The practice (science) of  using a computer solve problems.

           Important Skill: Knowing how to program well.

In practice (as a field): Concerned with: computer architecture, operating systems, programming languages, networking, data structures, algorithms, computational complexity, databases, user interfaces, graphics, computer vision, artificial intelligence, scientific programming, etc.
 

           Related field: Computer engineering.



Comment: The phrase "Computational Science" (discussed above) is meant to suggest a distinction between it and "Computer Science". Computational Scientists are clearly computer scientists in the broad sense. Some of the specific skills of the discipline are also relevant. But Computational Scientists need skills that go beyond computer science.


Scientific computing:
This is a modern term for the part of computer science that deals with implementing mathematical models and/or numerical algorithms on the computer. An older name for the same area is "scientific programming". In current usage, it is nearly synonomous with the kind of computing computational scientists do.
Cliche:
The favorite language for scientific computing is FORTRAN (rather than C).


High Performance Computing:
The practice of taking advantage of high performance computing hardware, including RISC proessors, memory caching schemes, parallel architectures, etc.

This includes specific programming techniques (eg, loop unrolling) and types of software (eg, optimizing compilers) to take advantages of the improved hardware.

High performance computing implicitly often refers to scientific applications, where execution speed is the limiting factor in what problems can be solved.



Numerical Analysis:


Applied mathematics:
Broad definition: Mathematics applied to "real world" problems.
As opposed to "pure mathematics" which is mathematics for its own sake (or perhaps mathematics that has not yet found an application).
In practice: Certain fields in mathematics are considered "applied": mostly differential equations (PDE's and ODE's) & numerical analysis.


Mathematical modeling:
Constructing mathematical models of "real-world" phenomena.

Models can sometimes be solved "analytically" but more often numerical solutions are necessary (e.g. Newton's laws). Numerical solutions are often implemented computationally.

Related term: simulation.


If Scientific Programming lies somewhere between Computer Science and Applied Mathematics

then

Mathematical modeling lies somewhere between Applied Mathematics and the scientific discipline being  modeled.



Probability and Statistics

Skills needed to sucessfully apply computational mathematics to your field:





Why the sudden interest in computing?

Recent advances in computer technology have made a more viable tool than ever before.
 

Advance:                                Effect:
Higher CPU speed/RISC architecture/parallel processing.
Cheaper memory/faster cache.
(Moore's Law)
Larger computations possible. Rougher programming may still work. 
More economical faster mass data storage. Computer data gathering, massive databases.
(Human Genome, U.S. economy, National weather service)
Networking (local and Global). Data and software sharing, scientific collaboration, e-publication, virtual parallel architecture
Improvements in graphics hardware and software. Desktop publishing, visualization as a scientific tool.
Software/Language improvements. New models for scientific computing (CAS).
New approaches to programming, e.g. FORTRAN 90, Java, C++. 
Numerical analysis using spreadsheet
Availability of laptop computers  Portable, ever present computing. 


What does the future hold?
  1. The end of Moore's law? (or not?)*
  2. Quantum computing?
  3. More portable and more powerful computers?
  4. Computer consciousness/artificial life?