your Math 615
Overview: One of the goals in Math 615 is to give
students practical experience in numerical analysis by working on a project
on a topic chosen by the student. Obvious advice for graduate students is to pick a project in
consultation with your advisor, but of course that is not a requirement. Both mathematical analysis and actual numerical computation are required
on this project. See the subject suggestions and content requirements below.
Timing and Due Dates:
- You will submit a short Version 1.0
on Friday 4/11 at class time. This part is worth 10% of the course grade.
- You will submit a final Version 2.0 on Thursday 5/8 at 5pm. This part is worth 15% of the course grade.
You should pick a continuum
mathematical model like
- a (single or small system of) partial differential equation(s), or
- a (single or small system of) delay differential equation(s), or
- a single stochastic differential equation.
These are the only allowed
possibilities. On the version 1.0 submission,
identify which one of these [1,2,3]
Note that most ODE-only problems lead to numerical analysis
rather unlike the content of the course, and thus are not allowed.
Your particular problem, namely the question you are trying
to answer by numerical analysis, could be
- an initial and boundary value problem, or
- a (purely) boundary value problem, or
- an "eigen" analysis (i.e. finding the modes of a system),
- an inverse problem.
On the version 1.0
submission, you must identify which one
of these [a,b,c,d] you are
In rare cases your problem may be in a fifth category "e". You
will want to clearly identify that and talk to me in advance of
submitting version 1.0.
In summary I want to see a clear statement of the type of the problem type, such as "... an initial/boundary
problem for a nonlinear evolution equation of parabolic type..." or "... an
inverse problem for a linear, elliptic boundary value problem..." or "... an
initial value problem for a delay differential equation ...".
For version 1.0 you must give several references, and these should
include enough about the problem to identify the category, among other
appear alphabetically, thus in no particular order. They are all
basically in categories 1a, 1b, or 1c in the above taxonomy. There is varying intrinsic difficulty to
the standard instances of these suggested problems, but I know enough
about each of these to be able to advise on how much you should include, so
as to avoid becoming bogged down, and I also know enough to be able to
"weight for difficulty" at the time of grading. Please google the suggestion below if
you find it interesting; look for a wikipedia page for sure.
Once you choose a subject (i.e. the continuum problem) you will choose a numerical scheme or schemes.
- biharmonic equation
- Black-Scholes equations for security pricing
- drum heads
- earth deformation under load
- eigenmodes of electromagnetic wave guides
- eikonal equation
- Euler-Poisson system for incompressible inviscid fluids
- Korteweg–de Vries equation
- linear (Newtonian) Stokes problem for incompressible fluid
- minimal surface equation
- morphogenesis/pattern formation
- Poisson/Laplace equation on a fractal
- Schroedinger equation
- shallow water equations
- snowball earth
- Sturm-Liouville problems
- telegraph equation
There should be some explanation of your numerical scheme choice.
"Ease of implementation" is a totally-valid reason to choose a
(consistent) scheme! Other reasons might be stability or order of
accuracy. It might also be the case that you are interested in
learning about that kind of scheme, so you might write "I want to learn
about implicit schemes for nonlinear equations" or "I want to learn
about high-quality transport schemes", for example.
chosen scheme or schemes applied to your chosen continuum mathematical
model, you will do a numerical analysis,
in addition to a computed example. In particular, two actions are required:
Note on requirement A: You must make some attempt to understand and explain
the efficiency, stability, convergence, and accuracy
of your numerical scheme(s). In particular, for each of the
following actions you should ask whether it is possible and meaningful
to do so, and if so you should do it. Concretely, I expect you to
do at least two of these analyses:
- numerical analysis
- practical computation
If you are unable to accomplish at least two of the above actions, talk to me. It may be that your problem is too hard.
- compute truncation error and show consistency
- do stability analysis
- prove convergence [rarely possible]
- assess the computational cost of the algorithm
- manufacture (or otherwise find) an exact solution, and verify with it.
I do not expect you to derive the equations of
the continuum model, though you may do so (e.g. briefly in an appendix). That is a subject for other courses.
However, do briefly explain the physical/engineering/mathematical context as a way of
introducing the problem. Carefully state the equations of the model,
giving precise references including a source of the derivation. Explain
the symbols you use; you must
define new symbols that are not already used in Morton &
Mayers. Explain the role/meaning of your particular computation.
As stated above, you are required to do some practical computation in Matlab, though I do not expect you to produce a production-quality code. Rather, your
goal should be a functional and readable prototype. (Build something
you can build upon!) Please use Matlab's
built-in numerical linear algebra, and don't write your own. In some
cases it will be appropriate to use Matlab's built-in ODE or root
solvers. You don't need to use Matlab
tricks, but generally learning to vectorize and avoid loops will help you
You may try methods other than finite differences for your practical
computation, for instance finite volume, finite element, or spectral
methods. But, because these methods differ both in implementation and
analysis from what is addressed in class, working with them will be
intrinsically harder because the required numerical analysis will be
harder. See me if you want your project to go in this direction.
In what follows I state what you
will turn in at various stages. Some of the work is mine,
however. I will be giving you feedback on version 1.0 which will
be intended to improve your grade on v2.0. And I will be happy to
talk to you about your project at any stage.
Length and format of project Version 1.0
(due Friday 4/11 at class time): The point here is to do
a little bit of everything that will go into the final product.
Version 1.0 should be a useful skeleton on which to build v2.0.
It needs to be readable but it need not be polished.
The length should be between 5 and 10 pages total.
Please include the following 7 section headings, with this content:
The Results/ part should be quite short, and may be empty, in
v1.0. That is, do not draw definitive conclusions
- Introduction (including
scientific/engineering context and sketch/gloss of the numerical
analysis you do)
- Continuum Model and Problem
(here should go the PDE itself, etc, and clear specification of the
particular problem including boundary conditions and parameters; give
meaning of symbols; include a not-completely-trivial exact solution, if
you can, here or in an appendix)
- Numerical Scheme (state the
method, discuss the reasons for this choice, discuss implementability
and efficiency; small excerpts of the code may go here)
- Analysis (truncation error,
stability, convergence, cost of algorithm, verification results)
- Results (show pictures and a few key numbers; note that a section called "Conclusion" is not necessary)
(at least three; quality matters)
- Appendix(s) (put the
actual codes here, tangential analysis or computation, failed attempts
I recommend having an an electronic form of v1.0
, so that it can be modified into v2.0 most easily, but when you turn in v1.0 and v2.0 they should be on paper. Please use
ordinary 8.5x11 letter paper and staple it in the upper left corner.
Please do not put it in a folder, etc.; I will have a stack of these
things to grade and I don't need yours to take up extra space.
Please make it double-sided if
Length and format of project Version 2.0
(due Thursday 5/8 at 5pm):
Now fill out the version 1.0 skeleton, of course, and think through
your approach given the feedback you get on v1.0. You will
undoubtedly need to alter your earlier plans, so don't worry if v2.0
has different computational or analytical details than v1.0.
Version 2.0 is final, so I encourage you to make it reasonably clean
and neat. The
should be between 15 and 25
pages total (with 25 a firm maximum) and should include the same section headings and other format requirements as for v1.0 (see above).