next up previous
Next: About this document ...

Worksheet 2 - PHY201, Fall 2006
Due Friday Sept. 15th, 5pm
Physics 201 home

Read Section 7 (pp18-22) of the Fortran summary. Also take a look at Appendix four which lists some of the internal FORTRAN functions. Note in particular the array operations such as Dot_Product and Matmul. Another function you will use today is the random number generator Rand(). This command generates a random number on the interval [0,1] and does not need an argument. We will also use file output commands OPEN and CLOSE which are discussed on page 30 of the Fortran summary. You will do some plotting of your data today, using the graphics package xmgrace. You will write data to a two column format text file (space delimited, not comma delimited). If your data file is results.dat, then entering
xmgrace results.dat
will plot your results.

PROBLEM 1 Write a fortran program to take the inner product of two vectors of length N, where N is entered from the screen by the user. Demonstrate your program by generating two vectors: One which has a unit value for each element and the other with random elements uniformly distributed on interval [-1,1]. Now study how the inner product of these two vectors depends on N. Make a plot of the result of this inner product as a function of N using xmgrace. You can do this by writing an outer loop which runs over values of N and printing the result to a data file.

PROBLEM 2 Using allocatable arrays, write a fortran program to generate an NxN (choose N odd) array which is bidiagonal, with value zero everywhere except on two diagonals. The two diagonals are the one above and the one below the major diagonal and the value of the entries on these two diagonals is unity. Create a vector of length N which is zero everywhere except at entry (N+1)/2 where it has value one. Now write a program to repeatedly act on your vector with the matrix. At each step, normalize the vector and write it to a file. Plot the final result of your simulation.


 

Phil Duxbury
2001-09-10