22
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116) PEMECAHAN SISTEM TRIDIAGONAL DALAM KOMPUTASI PARALEL DENGAN SIKLUS REDUKSI Mike Susmikanti * ABSTRAK PEMECAHAN SISTEM TRIDIAGONAL DALAM KOMPUTASI PARALEL DENGAN SIKLUS REDUKSI. Dalam aplikasi reaktor nuklir pada persoalan transport neutron dijumpai pemecahan model difusi satu dimensi. Model Difusi satu- dimensi mempunyai sistim persamaan linier tridiagonal. Komputasi paralel dapat membantu menyelesaikan suatu sistem persamaan linier yang besar untuk mempercepat perhitungan dan penggunaan memori komputer yang saling terintegrasi dengan efisien. Komputasi secara serial untuk penyelesaian persoalan sistem persamaan linier seperti yang telah diketahui menggunakan metoda eliminasi Gauss. Banyak persamaan linier yang berasal dari diskritisasi persamaan diferensial parsial adalah sparse dan khususnya banded. Sistim tridiagonal memerlukan penyelesaian khusus. Beberapa algoritma telah dikembangkan untuk penyelesaian sistim tridiagonal secara paralel. Paper ini membahas metoda siklus reduksi yang pendekatannya cukup berhasil untuk sistim tridiagonal dalam komputasi paralel. Proses algoritma siklus reduksi difokuskan pada unsur-unsur matriks tridiagonal melalui jajaran satu dimensi sehingga dapat menghemat memori serta mempercepat proses dibandingkan dengan metoda eliminasi Gauss. Sebagian besar algoritma dalam siklus reduksi dapat dilakukan secara paralel. Komputasi paralel sistim tridiagonal diterapkan secara terintegrasi, menggunakan program C serta konsep Message Passing Interface (MPI). Kata-kata kunci: SistimTridiagonal, Komputasi Paralel ABSTRACT SOLVING TRIDIAGONAL SYSTEM IN PARALLEL COMPUTING WITH CYCLIC REDUCTION. In applications transport neutron of nuclear reactor has to solve the one-dimension diffusion model. The model diffusion one- dimension has the tridiagonal linear equation system. Parallel * Pusat Pengembangan Informatika Nuklir – BATAN, email : [email protected] 101

SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Embed Size (px)

Citation preview

Page 1: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

PEMECAHAN SISTEM TRIDIAGONAL DALAM KOMPUTASI PARALEL DENGAN SIKLUS REDUKSI

Mike Susmikanti*

ABSTRAK

PEMECAHAN SISTEM TRIDIAGONAL DALAM KOMPUTASI PARALEL DENGAN SIKLUS REDUKSI. Dalam aplikasi reaktor nuklir pada persoalan transport neutron dijumpai pemecahan model difusi satu dimensi. Model Difusi satu-dimensi mempunyai sistim persamaan linier tridiagonal. Komputasi paralel dapat membantu menyelesaikan suatu sistem persamaan linier yang besar untuk mempercepat perhitungan dan penggunaan memori komputer yang saling terintegrasi dengan efisien. Komputasi secara serial untuk penyelesaian persoalan sistem persamaan linier seperti yang telah diketahui menggunakan metoda eliminasi Gauss. Banyak persamaan linier yang berasal dari diskritisasi persamaan diferensial parsial adalah sparse dan khususnya banded. Sistim tridiagonal memerlukan penyelesaian khusus. Beberapa algoritma telah dikembangkan untuk penyelesaian sistim tridiagonal secara paralel. Paper ini membahas metoda siklus reduksi yang pendekatannya cukup berhasil untuk sistim tridiagonal dalam komputasi paralel. Proses algoritma siklus reduksi difokuskan pada unsur-unsur matriks tridiagonal melalui jajaran satu dimensi sehingga dapat menghemat memori serta mempercepat proses dibandingkan dengan metoda eliminasi Gauss. Sebagian besar algoritma dalam siklus reduksi dapat dilakukan secara paralel. Komputasi paralel sistim tridiagonal diterapkan secara terintegrasi, menggunakan program C serta konsep Message Passing Interface (MPI).

Kata-kata kunci: SistimTridiagonal, Komputasi Paralel

ABSTRACT

SOLVING TRIDIAGONAL SYSTEM IN PARALLEL COMPUTING WITH CYCLIC REDUCTION. In applications transport neutron of nuclear reactor has to solve the one-dimension diffusion model. The model diffusion one-dimension has the tridiagonal linear equation system. Parallel computing can be help to solve a big system of linear equations for fast computation and efficiently shared memory of integrated computer. The serial computing for the solution of linear equations problem as well-known, are use the Gauss elimination method. Many linear systems that arise from discretization of partial differential equations are sparse and specifically banded. The tridiagonal systems are the most difficult case and needs to be handled differently. Several algorithms have been developed for the parallel solution of the tridiagonal systems. These papers present the cyclic reduction method, which has been one of the most successful approaches for the tridiagonal system in parallel computing. The Process of this algorithm is focused in elements tridiagonal by one dimension such that efficient memory and faster than elimination Gauss method. Most of the operation in the cyclic reduction can be done in parallel. The parallel computing of tridiagonal system are implementation with integrated used C program and Message Passing Interface (MPI) concepts.

Keywords: Tridiagonal System, Parallel Computing,

PENDAHULUAN* Pusat Pengembangan Informatika Nuklir – BATAN, email : [email protected]

101

Page 2: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

Dalam bidang sains dan teknik banyak dijumpai persoalan matematik. Komputasi pemecahan persoalan matematik dalam aplikasi reaktor nuklir diantaranya adalah persoalan transport neutron. Salah satu dalam persoalan transport neutron diantaranya adalah pemecahan model difusi satu-dimensi, yang berkembang menjadi pemecahan model difusi lebih dari satu dimensi dan lebih dari satu group. Model Difusi satu-dimensi mempunyai sistim persamaan linier tridiagonal [3]. Komputasi secara serial untuk penyelesaian persoalan sistem persamaan linier seperti yang telah diketahui menggunakan metoda eliminasi Gauss. Pada eliminasi Gauss untuk penyelesaian persamaan linier meliputi tahapan eliminasi maju dan substitusi mundur [7]. Sedangkan sistim persamaan linier tridiagonal memerlukan penyelesaian yang khusus.

Komputasi secara paralel diharapkan dapat membantu menyelesaikan suatu sistem persamaan linier yang besar untuk mempercepat perhitungan dan penggunaan memori komputer yang saling terintegrasi dengan efisien [2, 5, 8]. Banyak persamaan linier yang berasal dari diskritisasi persamaan diferensial parsial adalah sparse dan khususnya banded. Beberapa algoritma telah dikembangkan dalam beberapa tahun ini untuk penyelesaian sistim tridiagonal secara paralel. Proses algoritma siklus reduksi difokuskan pada unsur-unsur matriks tridiagonal melalui jajaran satu dimensi sehingga dapat menghemat memori serta mempercepat proses dibandingkan dengan metoda eliminasi Gauss yang dilakukan secara paralel melalui jajaran dua dimensi [1]. Sebagian besar algoritma dalam siklus reduksi dapat dilakukan secara paralel [6]. Tulisan ini membahas metoda siklus reduksi yang pendekatannya sebagian besar berhasil untuk sistim persamaan linier tridiagonal dalam komputasi paralel. Komputasi paralel sistim tridiagonal diterapkan secara terintegrasi menggunakan program C dan konsep program Message Passing Interface (MPI) [4, 9] pada Open Source System (OSS) LINUX.

SISTEM TRIDIAGONAL DALAM MODEL DIFUSI

Dalam persamaan difusi satu dimensi diperoleh sistim persamaan linier tridiagonal. Sistim persamaan ini menghasilkan nilai fluks yang berasal dari sistim persamaan A = S dimana A adalah matriks koefisien persamaan dengan unsur-unsur a yang merupakan suku-suku difusi. Nilai unsur a tersebut merupakan bentuk yang telah disederhanakan dalam persamaan beda hingga [3]. Nilai adalah vektor dari nilai fluks dan S adalah vektor dari nilai sumber. Pemecahan untuk diskritisasi fluks diperoleh dari penyelesaian persamaan dibawah ini,

=

= =

102

Page 3: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

=

Persamaan difusi satu dimensi mempunyai bentuk matriks sebagai berikut,

=

Matriks A tersebut diatas dengan unsur-unsur aij membentuk matriks tridiagonal dengan diagonal utama, satu diagonal atas dan satu diagonal bawah. Penyelesaian persamaan tridiagonal secara serial dapat menggunakan algoritma eliminasi Gauss yang meliputi eliminasi maju dan substitusi mundur [7]. Pada eliminasi maju dapat menggunakan faktorisasi dalam matrik koefisien A kedalam matriks segitiga atas-bawah (LU dekomposisi) [3].

Dikarenakan sistim tridiagonal merupakan sistim persamaan yang khusus dan cukup kompleks, maka penyelesaiannya dapat menggunakan metoda siklus reduksi. Algoritma dari metoda siklus reduksi dapat dibentuk dan dimodifikasi dalam algoritma paralel sehingga dapat diproses secara paralel [6].

METODA SIKLUS REDUKSI UNTUK SISTEM TRIDIAGONAL

Misalkan terdapat sistim tridiagonal berikut ini,

= , i = 1, 2, …., n (1)

di mana ai, bi, ci dan Fi diberikan. Dimisalkan bahwa n = 2p – 1. Jika n ≠ 2p-1 maka ditambahkan persamaan trivial tambahan dengan bentuk , i = n + 1, ....., 2p-1. Berikutnya adalah dilakukan kombinasi linier persamaan untuk menghapuskan urutan ganjil yang tidak diketahui dari variabel x1, x2, x3, ........,xn pada tahap pertama. Kemudian menomerkan atau mengurutkan kembali urutan ganjil yang tidak diketahui dan mengulang kembali proses ini sampai terdapat persamaan tunggal dengan satu

103

Page 4: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

variabel yang tidak diketahui dan yang akan dicari nilainya. Sementara penyelesaian dari persamaan tersebut, dilakukan langkah mundur untuk memperoleh sisa variabel yang tidak diketahui. Untuk mengerjakan hal ini adalah dengan melakukan kombinasi persamaan, masing-masing dalam tiga persamaan.

Misalkan dalam hal n = 7 = 23 -1 persamaan yang tidak diketahui. Maka kita mempunyai tiga persamaan dalam sistim tridiagonal. Dimulai dengan membentuk pasangan dari tiga persamaan pertama kemudian dikalikan dengan parameter dan agar diperoleh

(2)

Untuk mengeliminasi x1 dan x3, persamaan diatas ditambahkan dan memilih

Misalkan dengan menjumlah suku ke n pada persamaan (2)

maka menghasilkan

dengan cara yang sama mengkombinasikan persamaa ke-tiga, ke-empat dan ke-lima yang diperoleh dari persamaan (1), maka dibentuk sistim tridiagonal kedua, dimana diperoleh

dan dihitung dari

104

Page 5: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

maka menghasilkan

Terakhir untuk sistim tridiagonal ketiga diperoleh seperti sebelumnya, hanya persamaan

di mana parameter dan dihitung dengan memecahkan

Dapat dilihat hasil tiga persamaan juga membentuk sistim tridiagonal, berarti

(3)

(4)

(5)

dapat diulang proses eliminasi sebelumnya dengan cara yang sama. Pertama kalikan persamaan tersebut dengan dan dan pilih

sehingga hanya terdapat satu persamaan,

.

105

Page 6: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

Dengan menggunakan sustitusi mundur, sesudah diperoleh dari persamaan sebelumnya, maka dapat dihitung dengan menghilangkan persamaan (2) dan dari persamaan (3). Terakhir digunakan persamaan asli untuk memperoleh , , dan .

ALGORITMA PARALEL SIKLUS REDUKSI UNTUK SISTEM TRIDIAGONAL

Tahapan algoritma paralel untuk sistim tridiagonal dengan metoda siklus reduksi adalah sebagai berikut;1. Hitung

2. Hitung

3. Hitung

4. Menyelesaikan sistim persamaan untuk nilai-nilaix4, x2, x6, x1, x3, x5 dan x7

Program paralel untuk penyelesaian sistim tridiagonal ini jika dimisalkan diberikan P prosesor, dengan sistim siklus reduksi pada matrik berukuran . Nilai tersebut menggabungkan tiga baris untuk tiap prosesor selama tahap pertama. Program paralel dipecah menjadi empat bagian seperti dibawah ini. Adapun program paralel dengan metoda siklus reduksi dengan pemrogaman C dan MPI terdapat pada lampiran-A.

1. Tahap 1– Inisialisasi MPI dan alokasi memori serta membentuk matriks A.2. Tahap 2 – Tahapan paralel siklus reduksi.3. Tahap 3 – Substitusi Mundur untuk tahapan paralel dengan siklus reduksi.4. Tahap 4 – Solusi untuk baris matriks ganjil.

106

Page 7: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

HASIL DAN PEMBAHASAN

Simulasi proses paralel dilakukan dengan dua prosesor yang digunakan melalui dua komputer yang saling terintegrasi dengan pemrograman C dan konsep progam MPI (Message Pasing Interface) pada Open Source System LINUX. Algoritma siklus reduksi diterapkan dalam proses paralel untuk menyelesaikan sistim persamaan linier tridiagonal berikut ini dalam bentuk matriks A X = F berikut ini,

=

Mariks A adalah matrik koefisien persamaan yang membentuk sistim tridiagonal. Vektor X adalah variabel yang nilainya akan dihitung. Vektor F adalah vektor koefisien ruas kanan sistim persamaan. Nilai X4, X2, X6, X1, X3, X5 dan X7

diperoleh melalui proses siklus reduksi dengan mengambil nilai unsur-unsur diagonal utama bi, diagonal atas ci dan diagonal bawah ai. Substitusi mundur menghasilkan masing-masing nilai variabel xi tersebut diatas yaitu -32, -24, -24, -14, -30, -30, -14. (Lampiran A).

Contoh lain adalah sistim tridiagonal yang diperoleh dari proses pembentukan persamaan difusi satu dimensi. Mariks A adalah matrik koefisien persamaan difusi yang membentuk sistim tridiagonal. Vektor S menyatakan nilai sumber. Sedangkan Vektor menyatakan nilai fluks yang akan dicari. Dapat dinyatakan dalam bentuk matrik

107

Page 8: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

=

Ruas kanan sistim persamaan adalah vektor S yang merupakan nilai sumber. Nilai-nilai pada matriks A tersebut diatas adalah koefisien sistim persamaan tridiagonal. Nilai fluks , diperoleh melalui proses siklus reduksi dan substitusi mundur masing-masing dengan nilai 0.37042323; 0.32324905; 0.26361763; 0.24168830; 0.36606624; 0.33634887; 0.15174815 (Lampiran B).

KESIMPULAN

Pendekatan metoda siklus reduksi dapat diterapkan untuk sistim persamaan linier tridiagonal dalam komputasi paralel. Algoritma siklus reduksi adalah penyelesaian yang telah dimodifikasi dalam komputasi paralel. Sebagian besar algoritma dalam siklus reduksi dapat dilakukan lebih sederhana tahapannya secara paralel. Komputasi paralel dengan siklus reduksi pada sistim tridiagonal dapat diterapkan secara terintegrasi menggunakan program C dan konsep Message Passing Interface (MPI) pada sistem Open Source LINUX

DAFTAR PUSTAKA

108

Page 9: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

1. AKL, SELIM G., The Design and Analysis of Parallel Algorithms, Prentice Hall, Inc., New Jersey, 1989.

2. DESROCHERS, GEORGE R., Principles of Parallel and Multiprocessing, McGraw-Hill Book Co., Singapore, 1988.

3. DUDERSTADT, JAMES J.; HAMILTON, LOUIS J., Nuclear Reactor Analysis, John Wiley & Sons, Inc., 1976.

4. GRAMMATIKAKIS, MILTOS D.; FRANK HSU, D. and KRAETZL, MIRO, Parallel System Interconnections and Communications, CRC Press LLC, New York, 2001.

5. LEWIS, TED G.; EL-REWINI, HISHAM, Introduction to Parallel Computing, Prentice Hall Int. Editions, 1992.

6. KARNIADAKIS, GEORGE E.;KIRBY LL, ROBERT M., Parallel Scientific Computing in C++ and MPI, Cambridge University Press, First Published, 2003.

7. PLYBON, BENJAMIN F., An Introduction to Applied Numerical Analysis, PWS-KENT Publishing Company, 1992.

8. QUINN, MICHAEL J., Parallel Computing, Theory and Practice, Mc Graw-Hill Inc, Second Editions, 1994.

9. http://en.wikipedia.org/wiki/Parallel_computing , 11/10/2006, page 1-6

109

Page 10: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

Lampiran A : Program paralel Siklus Reduksi dan Hasil Program

#include <stdlib.h>#include <stdio.h>#include <math.h>#include <time.h>#include "mpi.h"#define range 20

/* Inisialisasi MPI */int main(int argc, char *argv[]){

const int numrows = 7, indeks = 2, idks2 = 4;int i,myid,namelen,numprocs;double x[range];double a[range],b[range],c[range],F[range];double alpha[range],gamma[range],beta[range];double alphaaksen[range],betaaksen[range],gammaaksen[range];

double abintang[range],Fbintang[range];double acap[range],bcap[range],ccap[range],Fcap[range];double startwtime,endwtime;char processor_name[MPI_MAX_PROCESSOR_NAME];

MPI_Status status;MPI_Init(&argc,&argv);MPI_Comm_size(MPI_COMM_WORLD,&numprocs);MPI_Comm_rank(MPI_COMM_WORLD,&myid);MPI_Get_processor_name(processor_name,&namelen); fprintf(stdout,"Process %d of %d is on %s\n",myid, numprocs, processor_name); fflush(stdout);

startwtime = MPI_Wtime(); FILE *cfPtr; if ((cfPtr = fopen("tridiagonal_2.txt","w")) == NULL){ printf("File could not be opened\n"); } else {

MPI_Bcast(&numprocs, 1, MPI_INT, 0, MPI_COMM_WORLD);fprintf(cfPtr,"\nPemecahan Siklus Reduksi pada Sistim Tridiagonal \n");fprintf(cfPtr,"\nKoefisien Ruas Kanan : \n");for(i=1;i<numrows+1;i++){F[i] = 4.0;fprintf(cfPtr,"F[%2d] = %12f\n",i,F[i]);}fprintf(cfPtr,"\nUnsur-unsur tridiagonal: \n");

110

Page 11: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

fprintf(cfPtr,"\nDiagonal Utama : \n");for(i=1;i<=numrows;i++){

b[i] = -2.0;fprintf(cfPtr,"b[%2d] = \t%.8f\n",i,b[i]);}fprintf(cfPtr,"\nDiagonal Bukan Utama : \n");

fprintf(cfPtr,"\nDiagonal Bawah : \n");for(i=2;i<=numrows;i++){ /* a[1] diabaikan */

a[i] = 1.0;fprintf(cfPtr,"a[%2d] = \t%.8f\n",i,a[i]);}

fprintf(cfPtr,"\nDiagonal Atas : \n");for(i=1;i<numrows;i++){

c[i] = 1.0;fprintf(cfPtr,"c[%2d] = \t%.8f\n",i,c[i]);

}

/* Siklus Reduksi*/ fprintf(cfPtr,"\nNilai Variabel Persamaan : \n");

fprintf(cfPtr,"\nSiklus Reduksi \n");fprintf(cfPtr," \nPemecahan untuk baris genap \n");

for(i=indeks;i<numrows;i+=2){ beta[i] = 1.0;

alpha[i] = -(beta[i]*a[i])/b[i-1];gamma[i] = -(beta[i]*c[i])/b[i+1];

} for(i=indeks;i<numrows;i+=2){ if (i == indeks){

ccap[i] = gamma[i]*c[i+1]; } if (i == idks2){ acap[i] = alpha[i]*a[i-1];

ccap[i] = gamma[i]*c[i+1]; } if (i == idks2+indeks){ acap[i] = alpha[i]*a[i-1]; } bcap[i] = alpha[i]*c[i-1]+beta[i]*b[i]+ gamma[i]*a[i+1]; Fcap[i] = alpha[i]*F[i-1]+beta[i]*F[i]+gamma[i]*F[i+1]; }

betaaksen[idks2] = 1.0;alphaaksen[idks2]= -(betaaksen[idks2]*acap[idks2])/bcap[indeks];

gammaaksen[idks2]= -(betaaksen[idks2]*ccap[idks2])/bcap[idks2+indeks];

111

Page 12: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

abintang[idks2]=alphaaksen[idks2]*ccap[indeks]+betaaksen[idks2]*bcap[idks2]+

gammaaksen[idks2]*acap[idks2+indeks];Fbintang[idks2]=alphaaksen[idks2]*Fcap[indeks]

+betaaksen[idks2]*Fcap[idks2+gammaaksen[idks2]*Fcap[idks2+indeks];x[idks2] = Fbintang[idks2]/abintang[idks2];fprintf(cfPtr," x[%2d] = \t%.8f\n",idks2,x[idks2]);

/* Substitusi Mundur & Penyelesaian untuk baris genap*/ fprintf(cfPtr," \n Subtitusi Mundur : \n");

x[indeks] = (Fcap[indeks]-x[idks2]*ccap[indeks])/bcap[indeks];fprintf(cfPtr," x[%2d] = \t%.8f\n",indeks,x[indeks]);

x[idks2+indeks]=(Fcap[idks2+indeks]-x[idks2]*acap[idks2+indeks])/bcap[idks2+indeks];fprintf(cfPtr," x[%2d] = \t%.8f\n",idks2,x[idks2+indeks]);

/* Penyelesaian untuk baris ganjil */fprintf(cfPtr," \n Pemecahan untuk baris ganjil \n");x[indeks-1] = (F[indeks-1]-c[indeks-1]*x[indeks])/b[indeks-1];

fprintf(cfPtr," x[%2d] = \t%.8f\n",indeks-1,x[indeks-1]); for(i=indeks+1;i<numrows+1;i+=2){ x[i] = (F[i-1]-a[i-1]*x[i-2]-b[i-1]*x[i-1])/c[i-1]; fprintf(cfPtr," x[%2d] = \t%.8f\n",i,x[i]);

}MPI_Reduce(&x, &myid, 1, MPI_DOUBLE, MPI_LAND,0, MPI_COMM_WORLD);}

if (myid == 0) {endwtime = MPI_Wtime();fprintf(cfPtr,"wall clock time = %f\n", endwtime-startwtime);fprintf(stdout,"wall clock time = %f\n", endwtime-startwtime);fflush(stdout);

} fclose(cfPtr);

MPI_Finalize();return 0;

}

[mike@node01 ~]$ cd Latihan[mike@node01 Latihan]$ mpiexec -n 2 mpicc -lm -o tridiagonal_2 tridiagonal_2.c[mike@node01 Latihan]$ mpirun -np 2 ./tridiagonal_2

112

Page 13: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

Hasil Program :

Pemecahan Siklus Reduksi pada Sistim Tridiagonal Koefisien Ruas Kanan : F[ 1] = 4.000000F[ 2] = 4.000000F[ 3] = 4.000000F[ 4] = 4.000000F[ 5] = 4.000000F[ 6] = 4.000000F[ 7] = 4.000000Unsur-unsur tridiagonal:

Diagonal Utama : b[ 1] = -2.00000000b[ 2] = -2.00000000b[ 3] = -2.00000000b[ 4] = -2.00000000b[ 5] = -2.00000000b[ 6] = -2.00000000b[ 7] = -2.00000000

Diagonal Bukan Utama : Diagonal Bawah : a[ 2] = 1.00000000a[ 3] = 1.00000000a[ 4] = 1.00000000a[ 5] = 1.00000000a[ 6] = 1.00000000a[ 7] = 1.00000000Diagonal Atas : c[ 1] = 1.00000000c[ 2] = 1.00000000c[ 3] = 1.00000000c[ 4] = 1.00000000c[ 5] = 1.00000000c[ 6] = 1.00000000

Nilai Variabel Persamaan :

Siklus Reduksi Pemecahan untuk baris genap x[ 4] = -32.00000000

113

Page 14: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

Subtitusi Mundur : x[ 2] = -24.00000000 x[ 4] = -24.00000000

Pemecahan untuk baris ganjil x[ 1] = -14.00000000 x[ 3] = -30.00000000 x[ 5] = -30.00000000 x[ 7] = -14.00000000

wall clock time = 0.002979

Lampiran B : Hasil Pemecahan Sistim Tridiagonal Persamaan Difusi

Koefisien Ruas Kanan : F[ 1] = 0.058708F[ 2] = 0.058708F[ 3] = 0.058708F[ 4] = 0.058708F[ 5] = 0.058708F[ 6] = 0.058708F[ 7] = 0.058708Unsur-unsur tridiagonal: Diagonal Utama : b[ 2] = 2.88150420b[ 3] = 2.88150420b[ 4] = 2.88150420b[ 5] = 2.88150420b[ 6] = 2.88150420b[ 7] = 2.88150420Diagonal Bukan Utama : Diagonal Bawah : a[ 2] = -1.43600000a[ 3] = -1.43600000a[ 4] = -1.43600000a[ 5] = -1.43600000a[ 6] = -1.43600000a[ 7] = -1.43600000Diagonal Atas : c[ 1] = -1.43600000c[ 2] = -1.43600000

114

Page 15: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

c[ 3] = -1.43600000c[ 4] = -1.43600000c[ 5] = -1.43600000c[ 6] = -1.43600000Nilai Variabel Persamaan : Siklus Reduksi Pemecahan untuk baris genap x[ 4] = 0.37042323 Subtitusi Mundur : x[ 2] = 0.32324905 x[ 6] = 0.26361763 Pemecahan untuk baris ganjil x[ 1] = 0.24168830 x[ 3] = 0.36606624 x[ 5] = 0.33634887 x[ 7] = 0.15174815wall clock time = 0.003023

115

Page 16: SOLVING SYSTEMS OF LINIER EQUATIONS IN ...digilib.batan.go.id/e-prosiding/lkstn_2008/artikel_doc/A... · Web viewMany linear systems that arise from discretization of partial differential

Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir: 6-7 Agustus 2008(101-116)

DISKUSI

NURDIN EFFENDI

1. Apakah program ini dapat digunakan untuk proses reduksi elemen-elemen matrik dalam teori grup

MIKE SUSMIKANTI

1. Jika matrik dalam teori grup bentuknya menyerupai matrik tridiagonal maka program ini dapat digunakan. Tetapi jika tidak serupa maka algoritma dan programnya harus dimodifikasi.

DAFTAR RIWAYAT HIDUP

1. Nama : Mike Susmikanti 2. Tempat/Tanggal Lahir : Jakarta, 12 November 19563. Instansi : PPIN - BATAN 4. Pekerjaan / Jabatan : Peneliti5. Riwayat Pendidikan : (setelah SMA sampai sekarang)

S1 Jurusan Matematika, Universitas Indonesia S2 Magister Manajemen, STIE IGI

6. Pengalaman Kerja : Staf Pengolahan Data-Biro Bina Program Kasubid Statistik – Pusat Pengembangan Informatika Pranata Komputer –P2TIK BATAN Peneliti - PPIN BATAN

7. Publikasi Ilmiah : Penerapan Aplikasi Operasi Matrik dalam Komputasi Pararel Shared

Memory Threads berbasis OSS Pattern Recognition of Material Creep and Fatigue Apllies Perceptron

Methods in Neural Network Systems The System Design Hardware and Software Development of Telemedicine

for Thyroid Uptake in Rural Area

116