ES 105 Homework: January 9, 2009

Below you will find the discussion and relevant materials for the ES 105 homework assignment due on January 9, 2009.

Discussion

We were asked to write and compile a Fortran code to perform certain desired operations: 1) read a matrix A provided in a data file hw0.dat ('Matrix A') and 2) produce a matrix B = A'*A ('Matrix B'). We then had to use this information to extract the diagonal of B ('Diagonal of B'), the negative square root of the diagonal of B, and then perform a symmetry check for each entry in B. On the right of the screen we find the source code, executable, and data files assigned for this exercise. Our symmetry check results for each entry in matrix B were: RMS=0, Mean=0, Maximum Value=0.

A similar procedure was followed to produce matrix C = A*A' ('Matrix C'), diagonal of C ('Diagonal of C'), the negative square root of the diagonal of C, and also to perform a symmetry check for each entry in C. Our symmetry check results for each entry in matrix C were: RMS=0, Mean=0, Maximum Value=0.

The Fortran code ('Fortran source code) was created in NEDIT and compiled on the Thayer Linux cluster using the following command:

g77 code0.f -0 hw0.out

The data files were further processed in Matlab to create all assigned plots shown below (see 'Matlab source code' for details).

 

 

Materials

Source Code

Executable

Output Data Files

 

Plots

 

Diagonal of B

Negative Square Root of Diagonal of B

Third row of B

Second Sub-diagonal of B

Diagonal of C

Negative Square Root of Diagonal of C

Third Row of C

Second Sub-diagonal of C