Mathematical Methods for Chemists:
NUMERICAL METHODS: FORTRAN &MATHEMATICA
Introduction to Course Structure
This course comprises approximately 15 hours of lectures and 15 hours
of problem solving. This time is spread over the next two weeks with
3 hours/day. My rough schedule is to deliver:
- 5 lectures on Basic Fortran programming
- 5 lectures on Fortran libraries
- 5 lectures on Mathematica
but this may vary depending on feedback, degree of difficulty and level of interest.
The course content will initially try to focus on the essential basics
with some more advanced topics being introduced later. Examples and
exercises will be given relating to the formal part of the
mathematical methods course given previously. For example, the
Fortran programming and Mathematica examples (and exercises and
problems) will (may) include:
- The numerical solution of the eigenvalue problem.
- Fourier series and Fourier transforms.
- Methods for solving ordinary differential equations.
- Laplace transforms.
- Numerical differentiation and integration.
- Numerical simulation: molecular dynamics and Monte
Carlo methods.
A Quick Tour of Fortran & Fortran Compilers
Fortran is a high level programming language that has been in
continuous use in further evolving versions (Fortran 66, Fortran 77,
Fortran 90) since the late 1950's. A program written as a series of
Fortran commands (source code) is compiled by a
sophisticated program known as a Fortran compiler to ultimately
produce an executable program. This executable program can then
be run (either interactively or in batch mode) on the computer that
it was compiled for. Fortran compilers exist for a wide range of
computer platforms (Macintosh, PC, Vax, Sun, Silicon Graphics, Cray).
At this point I will demonstrate the basic steps in compiling and
running a number of simple Fortran programs.
A Quick Tour of Advanced Fortran Programming & Program Libraries
Once the basic programming concepts in Fortran are mastered it is
possible to develop some rather sophisticated programs which may
incorporate various algorithms that solve a particular mathematical
problem. Often the development of such efficient algorithms and their
translation into Fortran code is rather difficult and tedious (not to
mention error prone). Furthermore, some algorithms are useful for
many purposes (e.g. algorithms for matrix operations, solution of the
eigenvalue problem, Fourier transforms, etc...).
Thus, it is worthwhile to maintain a library of such useful programs
(subprograms e.g. functions or subroutines) that can be reused for
different problems. Such libraries are available commercially
(NAGLIB, IMSL) , as shareware and others may be in the public domain
(freeware).
At this point, I will briefly look at some typical examples of complex
Fortran programs and how such codes make use of program libraries.
A Quick Tour of Mathematica
While we might tend to associate computers and computing merely with
numerical calculations, rapid relatively recent advances in
sophisticated algorithms have made it feasible to do symbolic algebra
on a computer.
Here we will briefly look at one such computer environment, known as
Mathematica. It not only can perform symbolic algebra but it can also
do numerical calculation and display results in a wide range of
graphic formats.
A (Bonus) Quick Tour of the Internet & the WWW
While it is not directly related to the topic of Mathematical Methods,
depending on demand I may take the opportunity to introduce the
concepts of the Internet and the World Wide Web (WWW). These concepts
respectively refer to the world-wide hyper-network and a recently
developed paradigm for an integrated graphical means whereby one can
(with relative ease) access information on the Internet.
I may quickly provide a brief overview of the Internet and describe
some of the tools useful in exploiting information resources
available on the Internet. Many of these resources can provide useful
scientific information and assistance in scientific calculations and
programming. For example, a large official Mathematica WWW site
exists which provides considerable further information and program
packages (some are freeware) over and above that provided in the
usual release provided with the program.
HTML COURSE NOTES
Last revised Tuesday 27 May 1997 EST
-
Harold W. Schranz Email:
Harold.Schranz@anu.edu.au