Implementacije indefinitne Jacobijeve Motivacija blok ... · Blok Jacobi V. Hari, 2 · (S. Singer)...
Transcript of Implementacije indefinitne Jacobijeve Motivacija blok ... · Blok Jacobi V. Hari, 2 · (S. Singer)...
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.