## Parallel Scientific Computing Final Project due 6 Dec 01: details on task 2

Define the following n x n test matrix T=
1 1 1 1 1 1 1 1 1 . . .
1 2 2 2 2 2 2 2 2 . . .
1 2 3 3 3 3 3 3 3 . . .
1 2 3 4 4 4 4 4 4 . . .
1 2 3 4 5 5 5 5 5 . . .
1 2 3 4 5 6 6 6 6 . . .
1 2 3 4 5 6 7 7 7 . . .
1 2 3 4 5 6 7 8 8 . . .
1 2 3 4 5 6 7 8 9 . . .
. . . . . . . . . . . . . . . . .

In an e-mail to you, the matrix dimension "n" will be specified and in addition so will a simple perturbation matrix P of the form P_{ij}=1 if j=J and k=K and zero otherwise, where J and K will be specified in the e-mail.

Use your code in Task 1 to factor the matrix A=T+P where T is the test matrix above which you have used before, and P is the perturbation sent you by e-mail. To define, A, first define A=T as before with the appropriate loops, and then make the assignment
A(J,K) <-- A(J,K)+1
Here, we are using Fortran numbering conventions: "A(J, K)" refers to the Jth row, Kth column.
Use your modified Program 13.8 to solve the resulting triangular systems to solve AX=F, where again the description of F is simple: F_i=1 if i=I and 0 otherwise. I will send you (individually) by e-mail the values of I,J,K and n.

In the e-mail, I will tell you which entries of X (X_M) that I want you to send me in return. This will be a set: {M}={1, 711, 101, 1043, 79321} for example.

Run this problem on 8 processors and print the timings for communication and computation. Give the times separately for both the Gaussian elimination (factorization) phase and the triangular solution phase.

In summary, I will send you an e-mail which will specify

n=matrix size | I=data index | (J,K)=perturbation indices | {M}=set of solution indices
A typical e-mail might look like

n=8100 | I=8099 | (J,K)=(8098,8087) | {M}={1,8077,8088,8089,8099,8100}

Your return e-mail should include a copy of the code, any tests you want to do to convince me that you tested everything (remember: partial credit!), and finally a single sheet/file with a listing of the above data (to confirm that we did communicate correctly) and the answers in the form
x(1)=0.3734321
x(8077)=0.01010
x(8088)=12348709
x(8089)=12548709
x(8099)=12345709
x(8100)=.000500
if you have the set of {M} above.

Also please include the time required for communication and computation for your run, and the number of processors used (you may use any number p>1).

Please also see the web site for further updates on the assignment and hints on how to check the triangular solution routines.