PROJECTS FOR MATH 2605,
Fall 2011
Two projects are required. Two more 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.
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
Below are 4 projects. Any two of them of them have to be turned
in. You may turn in another two and
use them to replace a test score.
Project 1: Pinball
Project (by John Elton)
This project is due September 16
at midnight
Project
2:
Solving equations using steepest
descent.
This project is due October 7 at midnight
Project 3: Jacobi
Algorithm (by Eric Carlen)
This project is due October 28 at
midnight
Project 4: Singular
Value decomposition (by Eric Carlen)
This project is due November 18
at midnight