Below you will find the discussion and relevant materials for the ES 105 homework assignment due on January 9, 2009.
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.outThe data files were further processed in Matlab to create all assigned plots shown below (see 'Matlab source code' for details).
Output Data Files
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