Parallel Computing讲解、C程序辅导讲解、解析C库函数或例程、C设计辅导留学生

- 首页 >> C/C++编程

Homework 1

Parallel Computing (09, 21, 2018)

1. Exercises 2.10, 2.16, 2.19 in the page 78~79 of the Textbook.

2. Why are almost all high performance computing implemented on Linux OS?

Please look for the relevant information on the Internet, and give the 3 to 5

most important reasons that you think of.

3. In numerical linear algebra, the Jacobi method (or Jacobi iterative

method) is an algorithm for determining the solutions of a diagonally

dominant system of linear equations. Each diagonal element is solved for,

and an approximate value is plugged in. The process is then iterated until

it converges. This algorithm is a stripped-down version of the Jacobi

transformation method of matrix diagonalization.

Let

?? = ?

be a square system of n linear equations, where:

Then A can be decomposed into a diagonal component D, and the

remainder R:

The solution is then obtained iteratively via

?(?+1) = ??1(? ? ??(?)

)

where ?(?) is the kth approximation or iteration of x and ?(?+1) is the

next or (? + 1)?? iteration of x. The element-based formula is thus:

A sufficient (but not necessary) condition for the method to converge is

that the matrix A is strictly or irreducibly diagonally dominant. Strict row

diagonal dominance means that for each row, the absolute value of the

diagonal term is greater than the sum of absolute values of other terms:

Please write a sequential C program to implement solving a system of

Linear Equations by Jacobi iterative method, and suppose the method is

simply convergent.

Note: When you try to implement your sequential programs, please just call

some basic (standard) C library functions or routines, in case of being the

inconvenience when you are going to implement the corresponding parallel

versions in future.


站长地图