PROJECTS FOR MATH 2605,
Fall 2007
Two projects are required. Up to six can be done for additional credit, as explained in the grading policy.
Each project has its own due date, which will be posted. These are
firm, so plan ahead. If you miss one, go on to the next ones.
How to turn in projects
You will need to create a web page on some server; it need not be on a
Georgia Tech server, although that is one possibility. By the time the
first project is due -- whether or not you choose to do that project --
you must email me the url of your page. On the due date, active a
link to your project, and send me notificiation.
Each project involves writing some code to do various experiments with
the ideas and methods of the course. The project descriptions all come
with
questions that your experiments should enable you to
answer. When you turn in a project, you should turn in (1)
your source code (2) a write up in pdf format discussing what you did,
choices you made in your implementation, and the answers to questions
in the project write up, and any graphs that should be produced.
(3) Your compiled code, for example, a java applet. (4) A "read me"
file explaining how to compile and use your program. All four items are
mandatory.
These four things should be put in a zip file that can be downloaded
from your web page. Better yet, you can make a page for each project
you turn in,
with links to the source files, etc. There are some examples below.
In writing up your work, make sure your answers and the conclusions you
present are quantitive, and contain information that could not have
been esialy predicted before running your program -- i.e., before doing
the experiment. This is an important point, and it will be
explained further in class.
Resources for doing the projects
You are encouraged to do these projects using java, you will probably find the JAMA
Package (JAva MAtrix) quite helpful. It is publicly available
with good documentation and source code. The current
implementation does not admit complex vectors or matrices, and probably
for this reason there is no Schur decomposition yet included, not even
the real form, so this doesn't give anything away; it just takes care
of the basics, so you can focus on the course topics.
You may also wish to use a function parsing package Professor
Carlen wrote for use in mathematical applets. Very often in graphing
applications, one needs to evaluate the same function for many
different inputs -- say one for each pixel. It is then very inefficinet
to parse the string describing the function each time. The function parser package
has a method for parsing a string once and for all, and producing an
object called an evaluator, which can then be used for rapid repeated
computation. It is used in all of the applets I have posted on the web.
In the project (to be posted later) on using the singular value
decomposition to compress an image, you may want to look at the graphics file format page.
The portable bitmap formats are paerticularly simple to work with (PGM
for grayscale and PPM for full color). Here is a very useful link to
the the JIU (Java Imaging Utilities) library.
Either using this library, or working by hand with the prtable bitmap
(as opposed to BMP, the MS-Windows bitmap format), you should be able
to convert image files to and from matrices.
Projects
Project 1: Solving equations using steepest descent. This project is due Monday September 24
New deadline: Monday October 1. (Because there
is a test on Tuesday September 25.)
Project 2: Pinball Project (by John Elton) This project is due Monday October 8 at Midnight.
New deadline: Friday
October 12 at Midnight.
Project 3: Jacobi Algorithm (by Eric Carlen) This project is due Monday October 22 at Midnight.
New due date: Friday October 26 at Midnight.
Project 4: Singular Value decomposition (by Eric Carlen)
This project is due Friday
November 2 at Midnight.
New due date: Tuesday November 6 at Midnight.
Those who turn in the project on the old due date
get extra
credit!
Project 5: Visualization for SVD (by Eric Carlen) This project is due Friday November 2 at Midnight.
New due date: Tuesday November 6 at Midnight.
Those who turn in the project on the old due date
get extra
credit!
Project 6: Power method for calculating eigenvalues (by Eric Carlen)
This project is due Monday November 12 at Midnight.
Project 7: QR method (by Eric Carlen)
This project is due Friday November 23 at Midnight.
New due date: Monday November 26 at Midnight.
Project 8: Euler's method for solving ODEs (by Eric Carlen)
This project is due Friday November 30 at Midnight.
New Due date: Tuesday December 4 at Midnight.