Mathematics 3J04: Optional Computer Assignments (Fall, 2000)

Note: Three optional computer projects are described below. Each of these projects requires good computer skills as well as basic understanding of the material of the course. A completed computer project can be accounted in a final mark (upon the student's approval) as an equivalent of three home assignments or one test, i.e. it worth 15% of a final mark.

Computer projects are considered to be complete if a numerical program is written as a software package with some user's input and some graphical output. For instance, a Matlab script serves for the purpose if it prompts a user to enter coefficients of a matrix or initial data of a differential equation, performs a number of computations and displays a graphical or data output back to the user. Another suggestion is to use Java and to write a computer program as a Java applet.

The instructor is available for consultations on any of the computer projects during regular office hours. The deadline for computer assignments is November 24. The assignments will not be accepted after the deadline.

Computer project #1:

Write a general Gaussian elimination algorithm suitable for working with linear systems of up to 10 equations. Complete the basic algorithm by a subroutine that allows considering the cases when the linear system has no solutions or has infinitely many solutions.

Input required: dimension of the linear system and its numerical coefficients
Output: status of the solution and numerical solution if exists.

Computer project #2:

Write a program based on Runge-Kutta or predictor-corrector methods to solve the nonlinear van der Pol equation:

y'' - a (1 - y2)y' + y = 0

Input required: initial values for y and y' and a numerical coefficient a.
Output: the phase plane (y,y') for the trajectory y = y(t) and its graph.

Computer project #3:

Write a program based on the Crank-Nicolson method to solve the heat equation:

ut = D uxx

subject to zero boundary conditions at x = 0 and x = 1.
Input required: a function f(x) for the initial value u(x,0) = f(x) and a numerical coefficient D.
Output: two-dimensional surface of u = u(x,t) for 0 < t < 10 and 0 < x < 1.

Back to Math3J04 Home Page