Lompat ke isi

Algoritma SPIKE

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung

Algoritma SPIKE adalah solver paralel hibrida untuk sistem linear berpita yang dikembangkan oleh Eric Polizzi dan Ahmed Sameh.

Ikhtisar

Algoritma SPIKE berkaitan dengan sistem linear AX = F , di mana A adalah sebuah banded nร—n matriks bandwidth jauh lebih sedikit daripada n, dan F adalah nร—s matriks yang mengandung s sisi kanan. Ini dibagi menjadi tahap preprocessing dan tahap postprocessing.

Tahap preprocessing

Pada tahap preprocessing, sistem linear AX = F dipartisi menjadi bentuk tridiagonal blok

[๐‘จ1๐‘ฉ1๐‘ช2๐‘จ2๐‘ฉ2โ‹ฑโ‹ฑโ‹ฑ๐‘ชpโˆ’1๐‘จpโˆ’1๐‘ฉpโˆ’1๐‘ชp๐‘จp][๐‘ฟ1๐‘ฟ2โ‹ฎ๐‘ฟpโˆ’1๐‘ฟp]=[๐‘ญ1๐‘ญ2โ‹ฎ๐‘ญpโˆ’1๐‘ญp].

Asumsikan, untuk saat ini, bahwa blok diagonal ( dengan ) adalah nonsingular. Tentukan matriks blok diagonal

,

maka juga nonsingular. Kiri-mengalikan untuk kedua sisi sistem memberi

[๐‘ฐ๐‘ฝ1๐‘พ2๐‘ฐ๐‘ฝ2โ‹ฑโ‹ฑโ‹ฑ๐‘พpโˆ’1๐‘ฐ๐‘ฝpโˆ’1๐‘พp๐‘ฐ][๐‘ฟ1๐‘ฟ2โ‹ฎ๐‘ฟpโˆ’1๐‘ฟp]=[๐‘ฎ1๐‘ฎ2โ‹ฎ๐‘ฎpโˆ’1๐‘ฎp],

yang harus diselesaikan pada tahap postprocessing. Penggandaan-kiri oleh setara dengan pemecahan p sistem formulir

(menghilangkan dan untuk j=1, dan dan untuk j=p), yang dapat dilakukan secara paralel.

Karena sifat berpita , hanya beberapa kolom paling kiri dari setiap dan beberapa kolom paling kanan dari masing-masing dapat berupa nol. Kolom ini disebut spike.

Tahap postprocessing

Tanpa kehilangan sifat umum, asumsikan bahwa setiap lonjakan mengandung tepat m kolom (m jauh lebih sedikit dari n) (bantalan spike dengan kolom nol jika perlu). Partisi paku di semua dan ke

[๐‘ฝj(t)๐‘ฝj๐‘ฝj(b)] and [๐‘พj(t)๐‘พj๐‘พj(b)]

dimana , , dan adalah dari dimensi mร—m. Partisi juga semua dan menjadi

[๐‘ฟj(t)๐‘ฟj๐‘ฟj(b)] and [๐‘ฎj(t)๐‘ฎj๐‘ฎj(b)].

Perhatikan bahwa sistem yang dihasilkan oleh tahap preprocessing dapat direduksi menjadi sistem pentadiagonal blok dengan ukuran yang jauh lebih kecil (ingat bahwa m jauh lebih sedikit dari n)

[๐‘ฐm0๐‘ฝ1(t)0๐‘ฐm๐‘ฝ1(b)00๐‘พ2(t)๐‘ฐm0๐‘ฝ2(t)๐‘พ2(b)0๐‘ฐm๐‘ฝ2(b)0โ‹ฑโ‹ฑโ‹ฑโ‹ฑโ‹ฑ0๐‘พpโˆ’1(t)๐‘ฐm0๐‘ฝpโˆ’1(t)๐‘พpโˆ’1(b)0๐‘ฐm๐‘ฝpโˆ’1(b)00๐‘พp(t)๐‘ฐm0๐‘พp(b)0๐‘ฐm][๐‘ฟ1(t)๐‘ฟ1(b)๐‘ฟ2(t)๐‘ฟ2(b)โ‹ฎ๐‘ฟpโˆ’1(t)๐‘ฟpโˆ’1(b)๐‘ฟp(t)๐‘ฟp(b)]=[๐‘ฎ1(t)๐‘ฎ1(b)๐‘ฎ2(t)๐‘ฎ2(b)โ‹ฎ๐‘ฎpโˆ’1(t)๐‘ฎpโˆ’1(b)๐‘ฎp(t)๐‘ฎp(b)],

yang kami sebut sistem tereduksi dan dilambangkan dengan .

Setelah semua dan ditemukan, semua dapat dipulihkan dengan paralelisme sempurna via

{๐‘ฟ1=๐‘ฎ1โˆ’๐‘ฝ1๐‘ฟ2(t),๐‘ฟj=๐‘ฎjโˆ’๐‘ฝj๐‘ฟj+1(t)โˆ’๐‘พj๐‘ฟjโˆ’1(b),j=2,โ€ฆ,pโˆ’1,๐‘ฟp=๐‘ฎpโˆ’๐‘พp๐‘ฟpโˆ’1(b).

Bacaan lanjutan

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29187969 (2026-05-02T15:36:07Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.