Implementacije indefinitne Jacobijeve Motivacija blok ... · Blok Jacobi V. Hari, 2 · (S. Singer)...

Preview:

Citation preview

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Implementacije indefinitne Jacobijeveblok–metode

Vjeran Hari1 Sanja Singer2 Sasa Singer1

1PMF–Matematicki odjel, Sveuciliste u Zagrebu

2Fakultet strojarstva i brodogradnjeSveuciliste u Zagrebu

Matematicki kolokvij, Osijek,16. studenog 2006.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Motivacija

Poznate cinjenice:

I indefinitni Jacobijev algoritam racuna svojstvenevrijednosti hermitskih matrica s visokom relativnomtocnoscu kad god je to moguce,

I sekvencijalni Jacobijev algoritam je sporiji nego stosu to standardni potprogrami LAPACK-ovebiblioteke,

I Jacobijev algoritam, posebno jednostrani se lakoparalelizira.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Motivacija

Poznate cinjenice:

I indefinitni Jacobijev algoritam racuna svojstvenevrijednosti hermitskih matrica s visokom relativnomtocnoscu kad god je to moguce,

I sekvencijalni Jacobijev algoritam je sporiji nego stosu to standardni potprogrami LAPACK-ovebiblioteke,

I Jacobijev algoritam, posebno jednostrani se lakoparalelizira.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Motivacija

Poznate cinjenice:

I indefinitni Jacobijev algoritam racuna svojstvenevrijednosti hermitskih matrica s visokom relativnomtocnoscu kad god je to moguce,

I sekvencijalni Jacobijev algoritam je sporiji nego stosu to standardni potprogrami LAPACK-ovebiblioteke,

I Jacobijev algoritam, posebno jednostrani se lakoparalelizira.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Motivacija

Poznate cinjenice:

I indefinitni Jacobijev algoritam racuna svojstvenevrijednosti hermitskih matrica s visokom relativnomtocnoscu kad god je to moguce,

I sekvencijalni Jacobijev algoritam je sporiji nego stosu to standardni potprogrami LAPACK-ovebiblioteke,

I Jacobijev algoritam, posebno jednostrani se lakoparalelizira.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Rezultati

Konstruirane su familije indefinitnih blok-algoritamaza koje

I je dokazana konvergencija,I je dokazano zadrzavanje svojstava relativne tocnosti,I na sekvencijalnom racunalu pokazuju ubrzanje od

50% za dovoljno velike matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Rezultati

Konstruirane su familije indefinitnih blok-algoritamaza koje

I je dokazana konvergencija,I je dokazano zadrzavanje svojstava relativne tocnosti,I na sekvencijalnom racunalu pokazuju ubrzanje od

50% za dovoljno velike matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Rezultati

Konstruirane su familije indefinitnih blok-algoritamaza koje

I je dokazana konvergencija,I je dokazano zadrzavanje svojstava relativne tocnosti,I na sekvencijalnom racunalu pokazuju ubrzanje od

50% za dovoljno velike matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Rezultati

Konstruirane su familije indefinitnih blok-algoritamaza koje

I je dokazana konvergencija,I je dokazano zadrzavanje svojstava relativne tocnosti,I na sekvencijalnom racunalu pokazuju ubrzanje od

50% za dovoljno velike matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kratak sadrzaj

Sadrzaj predavanja:

I kratki opis obicnih dvostranih i jednostranihalgoritama,

I blok-algoritmi, rezultati o konvergenciji i tocnosti,I detealji implementacije algoritama na racunalu,I pregled numerickih rezultata,I planirani daljnji rad.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kratak sadrzaj

Sadrzaj predavanja:

I kratki opis obicnih dvostranih i jednostranihalgoritama,

I blok-algoritmi, rezultati o konvergenciji i tocnosti,I detealji implementacije algoritama na racunalu,I pregled numerickih rezultata,I planirani daljnji rad.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kratak sadrzaj

Sadrzaj predavanja:

I kratki opis obicnih dvostranih i jednostranihalgoritama,

I blok-algoritmi, rezultati o konvergenciji i tocnosti,I detealji implementacije algoritama na racunalu,I pregled numerickih rezultata,I planirani daljnji rad.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kratak sadrzaj

Sadrzaj predavanja:

I kratki opis obicnih dvostranih i jednostranihalgoritama,

I blok-algoritmi, rezultati o konvergenciji i tocnosti,I detealji implementacije algoritama na racunalu,I pregled numerickih rezultata,I planirani daljnji rad.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kratak sadrzaj

Sadrzaj predavanja:

I kratki opis obicnih dvostranih i jednostranihalgoritama,

I blok-algoritmi, rezultati o konvergenciji i tocnosti,I detealji implementacije algoritama na racunalu,I pregled numerickih rezultata,I planirani daljnji rad.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kratak sadrzaj

Sadrzaj predavanja:

I kratki opis obicnih dvostranih i jednostranihalgoritama,

I blok-algoritmi, rezultati o konvergenciji i tocnosti,I detealji implementacije algoritama na racunalu,I pregled numerickih rezultata,I planirani daljnji rad.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Obicni dvostrani algoritam

Dvostrani Jacobijev algoritam:

I sustavno odabire (glavne) podmatrica reda 2 matriceH i ponistava njihove vandijagonalne elementekoristenjem ravninskih rotacija R

R =[

cos ϕ eiα sin ϕ−e−iα sinϕ cos ϕ

],

tj. zahtijeva se da je

R∗[

aii aij

aij ajj

]R =

[a′ii 00 a′jj

],

I moze se pokazati da je relativno tocan za pozitivnodefinitne matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Obicni dvostrani algoritam

Dvostrani Jacobijev algoritam:

I sustavno odabire (glavne) podmatrica reda 2 matriceH i ponistava njihove vandijagonalne elementekoristenjem ravninskih rotacija R

R =[

cos ϕ eiα sin ϕ−e−iα sinϕ cos ϕ

],

tj. zahtijeva se da je

R∗[

aii aij

aij ajj

]R =

[a′ii 00 a′jj

],

I moze se pokazati da je relativno tocan za pozitivnodefinitne matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Obicni dvostrani algoritam

Dvostrani Jacobijev algoritam:

I sustavno odabire (glavne) podmatrica reda 2 matriceH i ponistava njihove vandijagonalne elementekoristenjem ravninskih rotacija R

R =[

cos ϕ eiα sin ϕ−e−iα sinϕ cos ϕ

],

tj. zahtijeva se da je

R∗[

aii aij

aij ajj

]R =

[a′ii 00 a′jj

],

I moze se pokazati da je relativno tocan za pozitivnodefinitne matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Obicni dvostrani algoritam

Dvostrani Jacobijev algoritam:

I sustavno odabire (glavne) podmatrica reda 2 matriceH i ponistava njihove vandijagonalne elementekoristenjem ravninskih rotacija R

R =[

cos ϕ eiα sin ϕ−e−iα sinϕ cos ϕ

],

tj. zahtijeva se da je

R∗[

aii aij

aij ajj

]R =

[a′ii 00 a′jj

],

I moze se pokazati da je relativno tocan za pozitivnodefinitne matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Obicni jednostrani algoritam

Jednostrani algoritam za pozitivno definitne matrice:

1. matrica H rastavi se faktorizacijom Choleskog u

H = GG∗,

(matrice A = G∗G i GG∗ imaju jednake netrivijalnesvojstvene vrijednosti, pa mozemo raditi na bilokojoj od matrica)

2. sustavno se, ali implicitno (kao kod dvostranogalgoritma) ponistavaju elementi matrice H (ili A),sto znaci ortoganalizaciju stupaca pripadnog faktora– drugim rijecima racuna se SVD faktora G (ili G∗).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Obicni jednostrani algoritam

Jednostrani algoritam za pozitivno definitne matrice:

1. matrica H rastavi se faktorizacijom Choleskog u

H = GG∗,

(matrice A = G∗G i GG∗ imaju jednake netrivijalnesvojstvene vrijednosti, pa mozemo raditi na bilokojoj od matrica)

2. sustavno se, ali implicitno (kao kod dvostranogalgoritma) ponistavaju elementi matrice H (ili A),sto znaci ortoganalizaciju stupaca pripadnog faktora– drugim rijecima racuna se SVD faktora G (ili G∗).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Obicni jednostrani algoritam

Jednostrani algoritam za pozitivno definitne matrice:

1. matrica H rastavi se faktorizacijom Choleskog u

H = GG∗,

(matrice A = G∗G i GG∗ imaju jednake netrivijalnesvojstvene vrijednosti, pa mozemo raditi na bilokojoj od matrica)

2. sustavno se, ali implicitno (kao kod dvostranogalgoritma) ponistavaju elementi matrice H (ili A),sto znaci ortoganalizaciju stupaca pripadnog faktora– drugim rijecima racuna se SVD faktora G (ili G∗).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam

Ako je H indefinitna onda se metoda sastoji od:

1. faktorizacije matrice H koristenjem simetricneindefinitne faktorizacije (s pivotiranjem):

H = MDM∗,

pri cemu je D blok-dijagonalna.Dodatna dijagonalizacija matrice D i skaliranjestupaca matrice M daje

H = GJG∗,

pri cemu je

J = diag(j11, . . . , jnn), jii ∈ {−1, 1}.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam

Ako je H indefinitna onda se metoda sastoji od:

1. faktorizacije matrice H koristenjem simetricneindefinitne faktorizacije (s pivotiranjem):

H = MDM∗,

pri cemu je D blok-dijagonalna.Dodatna dijagonalizacija matrice D i skaliranjestupaca matrice M daje

H = GJG∗,

pri cemu je

J = diag(j11, . . . , jnn), jii ∈ {−1, 1}.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam

Ako je H indefinitna onda se metoda sastoji od:

1. faktorizacije matrice H koristenjem simetricneindefinitne faktorizacije (s pivotiranjem):

H = MDM∗,

pri cemu je D blok-dijagonalna.Dodatna dijagonalizacija matrice D i skaliranjestupaca matrice M daje

H = GJG∗,

pri cemu je

J = diag(j11, . . . , jnn), jii ∈ {−1, 1}.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

H indefinitna (nastavak)

2. Ako svojstveni problem

GJG∗x = λx

pomnozimo slijeva s G∗ i uvedemo oznaku

z = JG∗x,

dobivamo generalizirani problem svojstvenihvrijednosti

G∗Gz = λJz.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

H indefinitna (nastavak)

2. Ako svojstveni problem

GJG∗x = λx

pomnozimo slijeva s G∗ i uvedemo oznaku

z = JG∗x,

dobivamo generalizirani problem svojstvenihvrijednosti

G∗Gz = λJz.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

H indefinitna (nastavak)

2. Ako svojstveni problem

GJG∗x = λx

pomnozimo slijeva s G∗ i uvedemo oznaku

z = JG∗x,

dobivamo generalizirani problem svojstvenihvrijednosti

G∗Gz = λJz.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

H indefinitna (nastavak)

2. Ako svojstveni problem

GJG∗x = λx

pomnozimo slijeva s G∗ i uvedemo oznaku

z = JG∗x,

dobivamo generalizirani problem svojstvenihvrijednosti

G∗Gz = λJz.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Dijagonalizacija

Par (G∗G, J) se dijagonalizira koristenjem nizaJ–unitarnih kongruencija

I trigonometrjskih rotacija ako su znakovi u J isti,I ili hiperbolickih rotacija

R =[

chϕ eiα sh ϕe−iα sh ϕ chϕ

],

ako su znakovi u J suprotni,i to

I ili eksplicitno (dvostrani algoritam na A := G∗G),I ili implicitno (jednostrani algoritam na G).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Dijagonalizacija

Par (G∗G, J) se dijagonalizira koristenjem nizaJ–unitarnih kongruencija

I trigonometrjskih rotacija ako su znakovi u J isti,I ili hiperbolickih rotacija

R =[

chϕ eiα sh ϕe−iα sh ϕ chϕ

],

ako su znakovi u J suprotni,i to

I ili eksplicitno (dvostrani algoritam na A := G∗G),I ili implicitno (jednostrani algoritam na G).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Dijagonalizacija

Par (G∗G, J) se dijagonalizira koristenjem nizaJ–unitarnih kongruencija

I trigonometrjskih rotacija ako su znakovi u J isti,I ili hiperbolickih rotacija

R =[

chϕ eiα sh ϕe−iα sh ϕ chϕ

],

ako su znakovi u J suprotni,i to

I ili eksplicitno (dvostrani algoritam na A := G∗G),I ili implicitno (jednostrani algoritam na G).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Dijagonalizacija

Par (G∗G, J) se dijagonalizira koristenjem nizaJ–unitarnih kongruencija

I trigonometrjskih rotacija ako su znakovi u J isti,I ili hiperbolickih rotacija

R =[

chϕ eiα sh ϕe−iα sh ϕ chϕ

],

ako su znakovi u J suprotni,i to

I ili eksplicitno (dvostrani algoritam na A := G∗G),I ili implicitno (jednostrani algoritam na G).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Dijagonalizacija

Par (G∗G, J) se dijagonalizira koristenjem nizaJ–unitarnih kongruencija

I trigonometrjskih rotacija ako su znakovi u J isti,I ili hiperbolickih rotacija

R =[

chϕ eiα sh ϕe−iα sh ϕ chϕ

],

ako su znakovi u J suprotni,i to

I ili eksplicitno (dvostrani algoritam na A := G∗G),I ili implicitno (jednostrani algoritam na G).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Jednostrani algoritam

I ekvivalentan je hiperbolickom SVD-u matrice G

G = U

[Σ0

]V ∗, V ∗JV = J.

I Vise nemamo izbor hocemo li raditi na G ili G∗!I Algoritam se odvija primjenom niza J–unitarnih

kongruencija W1, W2, . . . , Wz zdesna na G, tj.,

V −∗ = W1 ·W2 · · ·Wz.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Jednostrani algoritam

I ekvivalentan je hiperbolickom SVD-u matrice G

G = U

[Σ0

]V ∗, V ∗JV = J.

I Vise nemamo izbor hocemo li raditi na G ili G∗!I Algoritam se odvija primjenom niza J–unitarnih

kongruencija W1, W2, . . . , Wz zdesna na G, tj.,

V −∗ = W1 ·W2 · · ·Wz.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Jednostrani algoritam

I ekvivalentan je hiperbolickom SVD-u matrice G

G = U

[Σ0

]V ∗, V ∗JV = J.

I Vise nemamo izbor hocemo li raditi na G ili G∗!I Algoritam se odvija primjenom niza J–unitarnih

kongruencija W1, W2, . . . , Wz zdesna na G, tj.,

V −∗ = W1 ·W2 · · ·Wz.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Jednostrani algoritam

I ekvivalentan je hiperbolickom SVD-u matrice G

G = U

[Σ0

]V ∗, V ∗JV = J.

I Vise nemamo izbor hocemo li raditi na G ili G∗!I Algoritam se odvija primjenom niza J–unitarnih

kongruencija W1, W2, . . . , Wz zdesna na G, tj.,

V −∗ = W1 ·W2 · · ·Wz.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Na primjer, ako je

J = diag(1,−1, 1,−1)

i mi smo izabrali ciklicku strategiju po recima, imamo

2-strani alg. na G∗G: 1-strani alg. na G:

00

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Na primjer, ako je

J = diag(1,−1, 1,−1)

i mi smo izabrali ciklicku strategiju po recima, imamo

2-strani alg. na G∗G: 1-strani alg. na G:

0

0

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Na primjer, ako je

J = diag(1,−1, 1,−1)

i mi smo izabrali ciklicku strategiju po recima, imamo

2-strani alg. na G∗G: 1-strani alg. na G:

0

0

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Na primjer, ako je

J = diag(1,−1, 1,−1)

i mi smo izabrali ciklicku strategiju po recima, imamo

2-strani alg. na G∗G: 1-strani alg. na G:

00

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Na primjer, ako je

J = diag(1,−1, 1,−1)

i mi smo izabrali ciklicku strategiju po recima, imamo

2-strani alg. na G∗G: 1-strani alg. na G:

0

0

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Na primjer, ako je

J = diag(1,−1, 1,−1)

i mi smo izabrali ciklicku strategiju po recima, imamo

2-strani alg. na G∗G: 1-strani alg. na G:

00

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Vazne napomene:

I azuriranje para stupaca u jednostranom algoritmu jenezavisno – BLAS 1 potprogram za azuriranje jexROTM,

I na slicicama na prethodnoj stranici, stupci mogu bitii blok-stupci – ovaj put je potprogram za azuriranjeBLAS 3 potprogram za mnozenje dvije matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Vazne napomene:

I azuriranje para stupaca u jednostranom algoritmu jenezavisno – BLAS 1 potprogram za azuriranje jexROTM,

I na slicicama na prethodnoj stranici, stupci mogu bitii blok-stupci – ovaj put je potprogram za azuriranjeBLAS 3 potprogram za mnozenje dvije matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J–Jacobijev algoritam (nastavak)

Vazne napomene:

I azuriranje para stupaca u jednostranom algoritmu jenezavisno – BLAS 1 potprogram za azuriranje jexROTM,

I na slicicama na prethodnoj stranici, stupci mogu bitii blok-stupci – ovaj put je potprogram za azuriranjeBLAS 3 potprogram za mnozenje dvije matrice.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Jednostrano ili dvostrano pitanje je sad?

Jednostrani algoritam, jer je:

I tocniji za barem jednu do dvije decimalne znamenke,cak iako vrlo pazljivo racunamo “ponistavanje”elemenata u dvostranom algoritmu, (ne zahtijevaspecijelnu paznju oko hiperbolickog tangensa kuta),

I vise od dva puta brzi ako se upotrebljavajuvektorizirajuci potprogrami (ili kompajlerskavektorizacija ili BLAS potprogrami iz Math KernelLibrary-ja).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Jednostrano ili dvostrano pitanje je sad?

Jednostrani algoritam, jer je:

I tocniji za barem jednu do dvije decimalne znamenke,cak iako vrlo pazljivo racunamo “ponistavanje”elemenata u dvostranom algoritmu, (ne zahtijevaspecijelnu paznju oko hiperbolickog tangensa kuta),

I vise od dva puta brzi ako se upotrebljavajuvektorizirajuci potprogrami (ili kompajlerskavektorizacija ili BLAS potprogrami iz Math KernelLibrary-ja).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Jednostrano ili dvostrano pitanje je sad?

Jednostrani algoritam, jer je:

I tocniji za barem jednu do dvije decimalne znamenke,cak iako vrlo pazljivo racunamo “ponistavanje”elemenata u dvostranom algoritmu, (ne zahtijevaspecijelnu paznju oko hiperbolickog tangensa kuta),

I vise od dva puta brzi ako se upotrebljavajuvektorizirajuci potprogrami (ili kompajlerskavektorizacija ili BLAS potprogrami iz Math KernelLibrary-ja).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Jednostrano ili dvostrano pitanje je sad?

Jednostrani algoritam, jer je:

I tocniji za barem jednu do dvije decimalne znamenke,cak iako vrlo pazljivo racunamo “ponistavanje”elemenata u dvostranom algoritmu, (ne zahtijevaspecijelnu paznju oko hiperbolickog tangensa kuta),

I vise od dva puta brzi ako se upotrebljavajuvektorizirajuci potprogrami (ili kompajlerskavektorizacija ili BLAS potprogrami iz Math KernelLibrary-ja).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Jednostrano ili dvostrano pitanje je sad?

Jednostrani algoritam, jer je:

I tocniji za barem jednu do dvije decimalne znamenke,cak iako vrlo pazljivo racunamo “ponistavanje”elemenata u dvostranom algoritmu, (ne zahtijevaspecijelnu paznju oko hiperbolickog tangensa kuta),

I vise od dva puta brzi ako se upotrebljavajuvektorizirajuci potprogrami (ili kompajlerskavektorizacija ili BLAS potprogrami iz Math KernelLibrary-ja).

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J treba biti “separiran” I ⊕ (−I)

Koristenjem permutacija (kao kongruencija) na J i G∗Gmozemo dobiti:

J = I ⊕ (−I).

Prednosti:

I vise od 10% brza konvergencija,I sortiranje stupaca matrice G (s tim da se postuju

znakovi u J i norme stupaca od G) – moze algoritamubrzati jos 5%.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J treba biti “separiran” I ⊕ (−I)

Koristenjem permutacija (kao kongruencija) na J i G∗Gmozemo dobiti:

J = I ⊕ (−I).

Prednosti:

I vise od 10% brza konvergencija,I sortiranje stupaca matrice G (s tim da se postuju

znakovi u J i norme stupaca od G) – moze algoritamubrzati jos 5%.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

J treba biti “separiran” I ⊕ (−I)

Koristenjem permutacija (kao kongruencija) na J i G∗Gmozemo dobiti:

J = I ⊕ (−I).

Prednosti:

I vise od 10% brza konvergencija,I sortiranje stupaca matrice G (s tim da se postuju

znakovi u J i norme stupaca od G) – moze algoritamubrzati jos 5%.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok podjela

Osnovna podjela:

I Stupci faktora G cine stupcanu blok-particiju:

G = [G1, G2, . . . , Gp],

pri cemu svaki od blokova Gi ima tocno ni stupaca,I odgovarajuci J je dijagonalna matrica

J = diag(J1, J2, . . . , Jp),

gdje je Ji reda ni.I Takva blok particija prirodno inducira “kvadratnu”

particiju matrice A = G∗G, s blokovima

Aij = G∗i Gj .

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok podjela

Osnovna podjela:

I Stupci faktora G cine stupcanu blok-particiju:

G = [G1, G2, . . . , Gp],

pri cemu svaki od blokova Gi ima tocno ni stupaca,I odgovarajuci J je dijagonalna matrica

J = diag(J1, J2, . . . , Jp),

gdje je Ji reda ni.I Takva blok particija prirodno inducira “kvadratnu”

particiju matrice A = G∗G, s blokovima

Aij = G∗i Gj .

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok podjela

Osnovna podjela:

I Stupci faktora G cine stupcanu blok-particiju:

G = [G1, G2, . . . , Gp],

pri cemu svaki od blokova Gi ima tocno ni stupaca,I odgovarajuci J je dijagonalna matrica

J = diag(J1, J2, . . . , Jp),

gdje je Ji reda ni.I Takva blok particija prirodno inducira “kvadratnu”

particiju matrice A = G∗G, s blokovima

Aij = G∗i Gj .

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok podjela

Osnovna podjela:

I Stupci faktora G cine stupcanu blok-particiju:

G = [G1, G2, . . . , Gp],

pri cemu svaki od blokova Gi ima tocno ni stupaca,I odgovarajuci J je dijagonalna matrica

J = diag(J1, J2, . . . , Jp),

gdje je Ji reda ni.I Takva blok particija prirodno inducira “kvadratnu”

particiju matrice A = G∗G, s blokovima

Aij = G∗i Gj .

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Jedan blok korak

Napomena:

Sve algoritme opisivat cemo kao dvostrane, aimplementirati kao jednostrane.

U jednom koraku “obicnog” algoritma:

izabiremo pivornu matricu

A =[aii aij

a∗ij ajj

]i ponistavamo vandijagonalni element aij .

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Jedan blok korak

Napomena:

Sve algoritme opisivat cemo kao dvostrane, aimplementirati kao jednostrane.

U jednom koraku “obicnog” algoritma:

izabiremo pivornu matricu

A =[aii aij

a∗ij ajj

]i ponistavamo vandijagonalni element aij .

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Jedan blok korak (nastavak)

U jednom koraku blok algoritma:

izabiremo pivotnu blok matricu

A =[Aii Aij

A∗ij Ajj

]i transformiramo je tako da

A′ = W ∗AW

A′ bude “dijagonalnija” od A.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok algoritmi

Razlikujemo dva tipa algoritama/strategija.

Blok–orijentirane algoritme

I norma vandijagonalnog bloka matrice Aij sesmanjuje.

Pune blok algoritme

I vandijagonalni blok Aij se ponistava.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok algoritmi

Razlikujemo dva tipa algoritama/strategija.

Blok–orijentirane algoritme

I norma vandijagonalnog bloka matrice Aij sesmanjuje.

Pune blok algoritme

I vandijagonalni blok Aij se ponistava.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok algoritmi

Razlikujemo dva tipa algoritama/strategija.

Blok–orijentirane algoritme

I norma vandijagonalnog bloka matrice Aij sesmanjuje.

Pune blok algoritme

I vandijagonalni blok Aij se ponistava.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok algoritmi

Razlikujemo dva tipa algoritama/strategija.

Blok–orijentirane algoritme

I norma vandijagonalnog bloka matrice Aij sesmanjuje.

Pune blok algoritme

I vandijagonalni blok Aij se ponistava.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Pivotne strategije

Razlikujemo dva nivoa pivotnih strategija:

I strategije na blok nivou ili makro strategije,I mikro strategije – strategije unutar svakog bloka.

Na makro nivou:

I u blok–ciklickim strategijama se svaki blok “obilazi”samo jednom,

I u blok–kvaziciklickim strategijama se svaki blok“obilazi” fiksni broj puta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Pivotne strategije

Razlikujemo dva nivoa pivotnih strategija:

I strategije na blok nivou ili makro strategije,I mikro strategije – strategije unutar svakog bloka.

Na makro nivou:

I u blok–ciklickim strategijama se svaki blok “obilazi”samo jednom,

I u blok–kvaziciklickim strategijama se svaki blok“obilazi” fiksni broj puta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Pivotne strategije

Razlikujemo dva nivoa pivotnih strategija:

I strategije na blok nivou ili makro strategije,I mikro strategije – strategije unutar svakog bloka.

Na makro nivou:

I u blok–ciklickim strategijama se svaki blok “obilazi”samo jednom,

I u blok–kvaziciklickim strategijama se svaki blok“obilazi” fiksni broj puta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Pivotne strategije

Razlikujemo dva nivoa pivotnih strategija:

I strategije na blok nivou ili makro strategije,I mikro strategije – strategije unutar svakog bloka.

Na makro nivou:

I u blok–ciklickim strategijama se svaki blok “obilazi”samo jednom,

I u blok–kvaziciklickim strategijama se svaki blok“obilazi” fiksni broj puta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Pivotne strategije

Razlikujemo dva nivoa pivotnih strategija:

I strategije na blok nivou ili makro strategije,I mikro strategije – strategije unutar svakog bloka.

Na makro nivou:

I u blok–ciklickim strategijama se svaki blok “obilazi”samo jednom,

I u blok–kvaziciklickim strategijama se svaki blok“obilazi” fiksni broj puta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Pivotne strategije

Razlikujemo dva nivoa pivotnih strategija:

I strategije na blok nivou ili makro strategije,I mikro strategije – strategije unutar svakog bloka.

Na makro nivou:

I u blok–ciklickim strategijama se svaki blok “obilazi”samo jednom,

I u blok–kvaziciklickim strategijama se svaki blok“obilazi” fiksni broj puta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Blok–ciklicke strategijeNajjednostavniji blok–orijentirani algoritam u jednomciklusu samo preureduje poredak rotacija.

Primjer:

I ciklicki po recima na makro nivou,I jedan prolaz ciklicki po recima na mikro nivou.

Ta strategija pripada grupi strategija valne fronte, engl.wave-front, koje su ekvivalentne strategijama ciklickim postupcima.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Kvaziciklicke strategije

Na makro nivou mozemo koristiti i ove strategije:I Mascarenhasovu:

I Drmac–Veselic strategiju:

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Teorijski rezultati

Tocnost i konvergencija blok–orijentiranih algoritama

Svi algoritmi tocni su u relativnom smislu.I Strategija valne fronte:

I globalna konvergencija se lako dokazuje,I brzina – vrlo dobra za matrice reda n ≤ 3500 (u

usporedbi s punim blok algoritmima),

I Mascarenhasova strategija:I malo teze dokazati globalnu konvergenciju,I kubicno konvergentna (po kvazi-ciklusu),

I Drmac–Veselic strategija:I globalna konvergencija dokazana (Hari) – dokaz

slican kao kod definitne,I ima slicnu brzinu kao strategija valne fronte.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Puni blok algoritmi u svakom koraku . . .

. . . ponistavaju vandijagonalni blok Aij u A.

I Ponistavanje samo Aij ima linearnu konvergenciju.I Rjesenje: treba dijagonalizirati cijelu pivotnu

podmatricu A.I Nakon odgovarajuceg broja koraka (u najgorem

slucaju cijelog ciklusa) svi dijagonalni blokovi Aii

(p)ostaju dijagonalni.I To sugerira sljedece pretprocesiranje: dijagonalizacija

svih Aii na pocetku i spremanje te dijagonale uposeban vektor koji se mora ponovo racunati nakonsvakog ciklusa (tocnost!)[

Λ′ii 00 Λ′

jj

]=

[Wii Wij

Wji Wjj

]∗ [Λii Aij

A∗ij Λjj

] [Wii Wij

Wji Wjj

].

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Puni blok algoritmi u svakom koraku . . .

. . . ponistavaju vandijagonalni blok Aij u A.

I Ponistavanje samo Aij ima linearnu konvergenciju.I Rjesenje: treba dijagonalizirati cijelu pivotnu

podmatricu A.I Nakon odgovarajuceg broja koraka (u najgorem

slucaju cijelog ciklusa) svi dijagonalni blokovi Aii

(p)ostaju dijagonalni.I To sugerira sljedece pretprocesiranje: dijagonalizacija

svih Aii na pocetku i spremanje te dijagonale uposeban vektor koji se mora ponovo racunati nakonsvakog ciklusa (tocnost!)[

Λ′ii 00 Λ′

jj

]=

[Wii Wij

Wji Wjj

]∗ [Λii Aij

A∗ij Λjj

] [Wii Wij

Wji Wjj

].

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Puni blok algoritmi u svakom koraku . . .

. . . ponistavaju vandijagonalni blok Aij u A.

I Ponistavanje samo Aij ima linearnu konvergenciju.I Rjesenje: treba dijagonalizirati cijelu pivotnu

podmatricu A.I Nakon odgovarajuceg broja koraka (u najgorem

slucaju cijelog ciklusa) svi dijagonalni blokovi Aii

(p)ostaju dijagonalni.I To sugerira sljedece pretprocesiranje: dijagonalizacija

svih Aii na pocetku i spremanje te dijagonale uposeban vektor koji se mora ponovo racunati nakonsvakog ciklusa (tocnost!)[

Λ′ii 00 Λ′

jj

]=

[Wii Wij

Wji Wjj

]∗ [Λii Aij

A∗ij Λjj

] [Wii Wij

Wji Wjj

].

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Puni blok algoritmi u svakom koraku . . .

. . . ponistavaju vandijagonalni blok Aij u A.

I Ponistavanje samo Aij ima linearnu konvergenciju.I Rjesenje: treba dijagonalizirati cijelu pivotnu

podmatricu A.I Nakon odgovarajuceg broja koraka (u najgorem

slucaju cijelog ciklusa) svi dijagonalni blokovi Aii

(p)ostaju dijagonalni.I To sugerira sljedece pretprocesiranje: dijagonalizacija

svih Aii na pocetku i spremanje te dijagonale uposeban vektor koji se mora ponovo racunati nakonsvakog ciklusa (tocnost!)[

Λ′ii 00 Λ′

jj

]=

[Wii Wij

Wji Wjj

]∗ [Λii Aij

A∗ij Λjj

] [Wii Wij

Wji Wjj

].

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Puni blok algoritmi u svakom koraku . . .

. . . ponistavaju vandijagonalni blok Aij u A.

I Ponistavanje samo Aij ima linearnu konvergenciju.I Rjesenje: treba dijagonalizirati cijelu pivotnu

podmatricu A.I Nakon odgovarajuceg broja koraka (u najgorem

slucaju cijelog ciklusa) svi dijagonalni blokovi Aii

(p)ostaju dijagonalni.I To sugerira sljedece pretprocesiranje: dijagonalizacija

svih Aii na pocetku i spremanje te dijagonale uposeban vektor koji se mora ponovo racunati nakonsvakog ciklusa (tocnost!)[

Λ′ii 00 Λ′

jj

]=

[Wii Wij

Wji Wjj

]∗ [Λii Aij

A∗ij Λjj

] [Wii Wij

Wji Wjj

].

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Korisni trikovi pri racunanju

U svakom koraku punog blok algoritma treba racunatisamo vandijagonalni blok Aij.

I Neka su Gi i Gj odgovarajuci pivotni blok-stupcimatrice G, tj.,

A =[Λii Aij

A∗ij Λjj

]=

[G∗

i

G∗j

] [Gi Gj

],

I Aij se moze izracunati samo jednim pozivompotprograma xGEMM umjesto s tri poziva kada Aii iAjj ne bi bili dijagonalni.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Korisni trikovi pri racunanju

U svakom koraku punog blok algoritma treba racunatisamo vandijagonalni blok Aij.

I Neka su Gi i Gj odgovarajuci pivotni blok-stupcimatrice G, tj.,

A =[Λii Aij

A∗ij Λjj

]=

[G∗

i

G∗j

] [Gi Gj

],

I Aij se moze izracunati samo jednim pozivompotprograma xGEMM umjesto s tri poziva kada Aii iAjj ne bi bili dijagonalni.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Korisni trikovi pri racunanju

U svakom koraku punog blok algoritma treba racunatisamo vandijagonalni blok Aij.

I Neka su Gi i Gj odgovarajuci pivotni blok-stupcimatrice G, tj.,

A =[Λii Aij

A∗ij Λjj

]=

[G∗

i

G∗j

] [Gi Gj

],

I Aij se moze izracunati samo jednim pozivompotprograma xGEMM umjesto s tri poziva kada Aii iAjj ne bi bili dijagonalni.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Dijagonalizacija

Za dijagonalizaciju A moze se:

D1. napraviti kopija bloka [Gi, Gj ], zatim QRfaktorizacija [Gi, Gj ] = QR, a nakon toga jednostrani(ne-blokirani) Jacobijev algoritam primijenjen na R,

D2. formirati gornji trokut matrice A (ako G nijekatastrofalno skalirana), a zatim primijeniti dvostraniJacobijev algoritam,

D3. izracunati A, zatim napraviti faktorizacija Choleskogi na kraju primijeniti jednostrani ne-blokiraniJacobijev algoritam na faktor R.

Testovi pokazuju da je varijanta D3 najbrza.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Dijagonalizacija

Za dijagonalizaciju A moze se:

D1. napraviti kopija bloka [Gi, Gj ], zatim QRfaktorizacija [Gi, Gj ] = QR, a nakon toga jednostrani(ne-blokirani) Jacobijev algoritam primijenjen na R,

D2. formirati gornji trokut matrice A (ako G nijekatastrofalno skalirana), a zatim primijeniti dvostraniJacobijev algoritam,

D3. izracunati A, zatim napraviti faktorizacija Choleskogi na kraju primijeniti jednostrani ne-blokiraniJacobijev algoritam na faktor R.

Testovi pokazuju da je varijanta D3 najbrza.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Dijagonalizacija

Za dijagonalizaciju A moze se:

D1. napraviti kopija bloka [Gi, Gj ], zatim QRfaktorizacija [Gi, Gj ] = QR, a nakon toga jednostrani(ne-blokirani) Jacobijev algoritam primijenjen na R,

D2. formirati gornji trokut matrice A (ako G nijekatastrofalno skalirana), a zatim primijeniti dvostraniJacobijev algoritam,

D3. izracunati A, zatim napraviti faktorizacija Choleskogi na kraju primijeniti jednostrani ne-blokiraniJacobijev algoritam na faktor R.

Testovi pokazuju da je varijanta D3 najbrza.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Dijagonalizacija

Za dijagonalizaciju A moze se:

D1. napraviti kopija bloka [Gi, Gj ], zatim QRfaktorizacija [Gi, Gj ] = QR, a nakon toga jednostrani(ne-blokirani) Jacobijev algoritam primijenjen na R,

D2. formirati gornji trokut matrice A (ako G nijekatastrofalno skalirana), a zatim primijeniti dvostraniJacobijev algoritam,

D3. izracunati A, zatim napraviti faktorizacija Choleskogi na kraju primijeniti jednostrani ne-blokiraniJacobijev algoritam na faktor R.

Testovi pokazuju da je varijanta D3 najbrza.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Dijagonalizacija

Za dijagonalizaciju A moze se:

D1. napraviti kopija bloka [Gi, Gj ], zatim QRfaktorizacija [Gi, Gj ] = QR, a nakon toga jednostrani(ne-blokirani) Jacobijev algoritam primijenjen na R,

D2. formirati gornji trokut matrice A (ako G nijekatastrofalno skalirana), a zatim primijeniti dvostraniJacobijev algoritam,

D3. izracunati A, zatim napraviti faktorizacija Choleskogi na kraju primijeniti jednostrani ne-blokiraniJacobijev algoritam na faktor R.

Testovi pokazuju da je varijanta D3 najbrza.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Akumulacija transformacija

I “Unutarnji” jednostrani Jacobijev algoritam racunahiperbolicki SVD (HSVD) faktora R

RW = U Σ,

gdje je U Σ zavrsna matrica.I Matrica W koristi se za azuriranje pivotnih

blok-stupaca [Gi, Gj ].

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Akumulacija transformacija

I “Unutarnji” jednostrani Jacobijev algoritam racunahiperbolicki SVD (HSVD) faktora R

RW = U Σ,

gdje je U Σ zavrsna matrica.I Matrica W koristi se za azuriranje pivotnih

blok-stupaca [Gi, Gj ].

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Racunanje W

Za racunanje W , mozemo:

V1. akumulirati sve trigonometrijske i hiperbolickerotacije,

V2. rjesavati linearni sustav RW = U Σ po W ,

V3. uociti da je W J–unitarna matrica, tj. W = JW−∗J i

W = (RJ)∗(U Σ−1J)

(2 skaliranja + mnozenje).

Najbolji nacin je V1.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Racunanje W

Za racunanje W , mozemo:

V1. akumulirati sve trigonometrijske i hiperbolickerotacije,

V2. rjesavati linearni sustav RW = U Σ po W ,

V3. uociti da je W J–unitarna matrica, tj. W = JW−∗J i

W = (RJ)∗(U Σ−1J)

(2 skaliranja + mnozenje).

Najbolji nacin je V1.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Racunanje W

Za racunanje W , mozemo:

V1. akumulirati sve trigonometrijske i hiperbolickerotacije,

V2. rjesavati linearni sustav RW = U Σ po W ,

V3. uociti da je W J–unitarna matrica, tj. W = JW−∗J i

W = (RJ)∗(U Σ−1J)

(2 skaliranja + mnozenje).

Najbolji nacin je V1.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Racunanje W

Za racunanje W , mozemo:

V1. akumulirati sve trigonometrijske i hiperbolickerotacije,

V2. rjesavati linearni sustav RW = U Σ po W ,

V3. uociti da je W J–unitarna matrica, tj. W = JW−∗J i

W = (RJ)∗(U Σ−1J)

(2 skaliranja + mnozenje).

Najbolji nacin je V1.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Racunanje W

Za racunanje W , mozemo:

V1. akumulirati sve trigonometrijske i hiperbolickerotacije,

V2. rjesavati linearni sustav RW = U Σ po W ,

V3. uociti da je W J–unitarna matrica, tj. W = JW−∗J i

W = (RJ)∗(U Σ−1J)

(2 skaliranja + mnozenje).

Najbolji nacin je V1.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Azuriranje blok–stupca matricom WPivotni blok–stupac [Gi, Gj ] (plavo)mnozi se 2 × 2 blok-matricom W(crveno), koristenjem potprogramaxGEMM iz BLAS-a 3.Potprogram xGEMM ne moze prepisa-ti originalne faktore.

Rjesenje: upotreba 2 dodatna blok-stupca dimenzijemax ni kao radnog prostora.

Za izbjegavanje nepotrebnog kopiranja blokova:

I izracunati stupci se ne vracaju na svoje “originalno”mjesto, nego se samo zapisuje njihovo trenutnomjesto.

I U koraku postprocesiranja, blok-stupci se vracaju nanjihova originalna mjesta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Azuriranje blok–stupca matricom WPivotni blok–stupac [Gi, Gj ] (plavo)mnozi se 2 × 2 blok-matricom W(crveno), koristenjem potprogramaxGEMM iz BLAS-a 3.Potprogram xGEMM ne moze prepisa-ti originalne faktore.

Rjesenje: upotreba 2 dodatna blok-stupca dimenzijemax ni kao radnog prostora.

Za izbjegavanje nepotrebnog kopiranja blokova:

I izracunati stupci se ne vracaju na svoje “originalno”mjesto, nego se samo zapisuje njihovo trenutnomjesto.

I U koraku postprocesiranja, blok-stupci se vracaju nanjihova originalna mjesta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Azuriranje blok–stupca matricom WPivotni blok–stupac [Gi, Gj ] (plavo)mnozi se 2 × 2 blok-matricom W(crveno), koristenjem potprogramaxGEMM iz BLAS-a 3.Potprogram xGEMM ne moze prepisa-ti originalne faktore.

Rjesenje: upotreba 2 dodatna blok-stupca dimenzijemax ni kao radnog prostora.

Za izbjegavanje nepotrebnog kopiranja blokova:

I izracunati stupci se ne vracaju na svoje “originalno”mjesto, nego se samo zapisuje njihovo trenutnomjesto.

I U koraku postprocesiranja, blok-stupci se vracaju nanjihova originalna mjesta.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericko testiranje – Uvod

Racunalo:

I Intel Pentium 4 660 procesor (na 3.6 GHz),I s 2 MB cache-memorije,I i 2 GB DDR2 memorije (na 533 MHz).

Napomene:I 32–bit procesor,I s 64–bit adresiranjem (EM64T or AMD64),I cache arhitektura je 64–bitna.

Imali smo dvije skupine testova: 32–bitne i 64–bitne.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericko testiranje – Uvod

Racunalo:

I Intel Pentium 4 660 procesor (na 3.6 GHz),I s 2 MB cache-memorije,I i 2 GB DDR2 memorije (na 533 MHz).

Napomene:I 32–bit procesor,I s 64–bit adresiranjem (EM64T or AMD64),I cache arhitektura je 64–bitna.

Imali smo dvije skupine testova: 32–bitne i 64–bitne.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericko testiranje – Uvod

Racunalo:

I Intel Pentium 4 660 procesor (na 3.6 GHz),I s 2 MB cache-memorije,I i 2 GB DDR2 memorije (na 533 MHz).

Napomene:I 32–bit procesor,I s 64–bit adresiranjem (EM64T or AMD64),I cache arhitektura je 64–bitna.

Imali smo dvije skupine testova: 32–bitne i 64–bitne.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericko testiranje – Uvod

Racunalo:

I Intel Pentium 4 660 procesor (na 3.6 GHz),I s 2 MB cache-memorije,I i 2 GB DDR2 memorije (na 533 MHz).

Napomene:I 32–bit procesor,I s 64–bit adresiranjem (EM64T or AMD64),I cache arhitektura je 64–bitna.

Imali smo dvije skupine testova: 32–bitne i 64–bitne.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericko testiranje – Uvod

Racunalo:

I Intel Pentium 4 660 procesor (na 3.6 GHz),I s 2 MB cache-memorije,I i 2 GB DDR2 memorije (na 533 MHz).

Napomene:I 32–bit procesor,I s 64–bit adresiranjem (EM64T or AMD64),I cache arhitektura je 64–bitna.

Imali smo dvije skupine testova: 32–bitne i 64–bitne.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericko testiranje – Uvod

Racunalo:

I Intel Pentium 4 660 procesor (na 3.6 GHz),I s 2 MB cache-memorije,I i 2 GB DDR2 memorije (na 533 MHz).

Napomene:I 32–bit procesor,I s 64–bit adresiranjem (EM64T or AMD64),I cache arhitektura je 64–bitna.

Imali smo dvije skupine testova: 32–bitne i 64–bitne.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericko testiranje – Uvod

Racunalo:

I Intel Pentium 4 660 procesor (na 3.6 GHz),I s 2 MB cache-memorije,I i 2 GB DDR2 memorije (na 533 MHz).

Napomene:I 32–bit procesor,I s 64–bit adresiranjem (EM64T or AMD64),I cache arhitektura je 64–bitna.

Imali smo dvije skupine testova: 32–bitne i 64–bitne.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericko testiranje – Uvod

Racunalo:

I Intel Pentium 4 660 procesor (na 3.6 GHz),I s 2 MB cache-memorije,I i 2 GB DDR2 memorije (na 533 MHz).

Napomene:I 32–bit procesor,I s 64–bit adresiranjem (EM64T or AMD64),I cache arhitektura je 64–bitna.

Imali smo dvije skupine testova: 32–bitne i 64–bitne.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Numericki primjeri — test okolina

32–bitna okolina (IA–32):

I Windows XP Professional,I Intel Fortran kompajler 9.0.028,I Math Kernel Library 8.0.1 (za BLAS i LAPACK).

64–bitna okolina (x64, EM64T, AMD64):

I Windows XP Professional x64 edition,I Intel Fortran kompajler 9.1.028,I Math Kernel Library 8.1 (za BLAS i LAPACK).

Blok particije su bile jednakih dimenzija s 8–128 stupacau svakom bloku. preskoci 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (64–bitni)

N = 1000I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (64–bitni)

N = 1500I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (64–bitni)

N = 2000I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (64–bitni)

N = 2500I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (64–bitni)

N = 3000I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (64–bitni)

N = 3500I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (64–bitni)

N = 4000I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (64–bitni) — posebni testovi

N = 4500, 5000I racunati samo za puni blok algoritam, W dobiven iz

V1,I s restriktivnim uvjetima na dimenziju bloka ≤ 40.I N = 4500I N = 5000, ubrzanje > 50% za blok-dimenzije 24, 32,

40.

8 24 40

10

30

50

velicina bloka

ubrz

anje

u%

preskoci 32–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (32–bitni)

N = 1000I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (32–bitni)

N = 1500I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (32–bitni)

N = 2000I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (32–bitni)

N = 2500I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (32–bitni)

N = 3000I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (32–bitni)

N = 3500I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Test rezultati (32–bitni)

N = 4000I plavo – blok-orijentirani algoritam, W se akumulira,I sivo – puni blok algoritam, W dobiven procedurom

V3 + poboljsavanjem,I crveno – puni blok, W dobiven algoritmom V1:

8 32 56 80 104 128

−50

−30

−10

10

30

50

velicina blokaubrz

anje

u%

povratak na 64–bitne rezultate

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Zakljucak

Blok-algoritmi su:

I vise od 50% brzi za velike matrice,I tocni u relativnom smislu.

Sada se radi na

I efikasnom sortiranju stupaca u blok algoritmima.I efikasnoj indefinitnoj QR faktorizaciji s

dijagonalizacijskim efektom.I upotrebi indefinitne CS dekompozicije umjesto

xGEMM,I paralelizaciji algoritama.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Zakljucak

Blok-algoritmi su:

I vise od 50% brzi za velike matrice,I tocni u relativnom smislu.

Sada se radi na

I efikasnom sortiranju stupaca u blok algoritmima.I efikasnoj indefinitnoj QR faktorizaciji s

dijagonalizacijskim efektom.I upotrebi indefinitne CS dekompozicije umjesto

xGEMM,I paralelizaciji algoritama.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Zakljucak

Blok-algoritmi su:

I vise od 50% brzi za velike matrice,I tocni u relativnom smislu.

Sada se radi na

I efikasnom sortiranju stupaca u blok algoritmima.I efikasnoj indefinitnoj QR faktorizaciji s

dijagonalizacijskim efektom.I upotrebi indefinitne CS dekompozicije umjesto

xGEMM,I paralelizaciji algoritama.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Zakljucak

Blok-algoritmi su:

I vise od 50% brzi za velike matrice,I tocni u relativnom smislu.

Sada se radi na

I efikasnom sortiranju stupaca u blok algoritmima.I efikasnoj indefinitnoj QR faktorizaciji s

dijagonalizacijskim efektom.I upotrebi indefinitne CS dekompozicije umjesto

xGEMM,I paralelizaciji algoritama.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Zakljucak

Blok-algoritmi su:

I vise od 50% brzi za velike matrice,I tocni u relativnom smislu.

Sada se radi na

I efikasnom sortiranju stupaca u blok algoritmima.I efikasnoj indefinitnoj QR faktorizaciji s

dijagonalizacijskim efektom.I upotrebi indefinitne CS dekompozicije umjesto

xGEMM,I paralelizaciji algoritama.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Zakljucak

Blok-algoritmi su:

I vise od 50% brzi za velike matrice,I tocni u relativnom smislu.

Sada se radi na

I efikasnom sortiranju stupaca u blok algoritmima.I efikasnoj indefinitnoj QR faktorizaciji s

dijagonalizacijskim efektom.I upotrebi indefinitne CS dekompozicije umjesto

xGEMM,I paralelizaciji algoritama.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Zakljucak

Blok-algoritmi su:

I vise od 50% brzi za velike matrice,I tocni u relativnom smislu.

Sada se radi na

I efikasnom sortiranju stupaca u blok algoritmima.I efikasnoj indefinitnoj QR faktorizaciji s

dijagonalizacijskim efektom.I upotrebi indefinitne CS dekompozicije umjesto

xGEMM,I paralelizaciji algoritama.

Blok Jacobi

V. Hari,2 · (S. Singer)

Motivacija

J–Jacobi

Osnove

BlokJ–Jacobijevalgoritam

Blok algoritmiBlok–orijentiranialgoritmiPuni blokalgoritmi

Detaljiimplementacije

Numerickotestiranje

Zakljucak

Zakljucak

Blok-algoritmi su:

I vise od 50% brzi za velike matrice,I tocni u relativnom smislu.

Sada se radi na

I efikasnom sortiranju stupaca u blok algoritmima.I efikasnoj indefinitnoj QR faktorizaciji s

dijagonalizacijskim efektom.I upotrebi indefinitne CS dekompozicije umjesto

xGEMM,I paralelizaciji algoritama.