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.
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.