Numerical Analysis in C++ (Mast 680B)
Numerical Analysis (Mast 683)
Students will need to consult books on Numerical Analysis and Scientific Computing. NR = Numerical Recipes by Press et al (Cambridge, 1986) and Introducing C++ for Scientists, Engineers, and Mathematicians by Capper (Springer, 1994) are recommended. NR is well described by its title: for mathematical proofs and detailed results, one must look at the references, and other mathematical literature.
Undergraduate analysis, differential equations, and linear algebra. The C++ language itself will be introduced and studied as part of this course.
There will be a sequence of assignments gradually increasing in difficulty. In the final assignment, which will have the flavour of a small project, students will choose one problem from a list of about 10.
This is an elementary course in numerical analysis and computing. Various fundamental topics in numerical analysis will be included. There will be a bias towards analytical problems involving roots, integration, differential equations, optimization, and Fourier transforms. The use of `functional programming' and graphical techniques will be strongly encouraged. Students will be shown how to extend an initial C++ graphics class so that they can take advantage of graphical methods for exploratory purposes. By the end of this course students should have made a good start on the construction of a personal library of tools for exploring and solving mathematical problems numerically.
Students registered in the course will be able to receive a computer account from H925. At the University, the supported dialects are Turbo C++ and Visual C++. These are available in PC LAB C (H923 and H925-1). Students are strongly encouraged to use more private computing environments to which they may have convenient access. For graphics the best dialects for the course are those such as Turbo and Visual that are based on 'Windows'. NB Students who are new to computing should expect that this course will occupy much more time than an ordinary course of mathematics.
Examples and Assignments
Computational Applied Mathematics (Mast 680J)
Students will need to consult books on various topics in
mathematics and computing. An annotated reading list is accessible
from the RH home page: http://www.mathstat.concordia.ca/faculty/rhall/
analysis, differential equations, numerical analysis.
Students who take this course
are expected to have some familiarity with at least one high-level
computing environment such as Maple, Mathematica, or Matlab.
If there is sufficient interest, some time may be devoted to
programming directly in C++.
There will be two projects, chosen in consulatation with the professor.
The first one will be selected from a list of suggestions provided;
the second will be individually chosen and more ambitious.
They will each require detailed
design and planning, both mathematically and computationally.
In the initial lectures, mathematical and computational aspects of
some problems chosen from the following areas will be considered:
approximation theory, ordinary differential equations,
calculus of variations, dynamical systems,
partial differential equations, integral equations,
Fourier transforms, Sturm-Liouville problems, Monte Carlo methods,
discrete spectra of Schrödinger operators.
By arrangement, each student will choose a project area;
the style of the course will then become that of a workshop.
It is a principal aim of the course that the students generate
well-documented programs that solve mathematical problems.