išretintos matricos - 3 paskaitaolgas/tasm/tasm_3p.pdf · išretintos matricos 3 paskaita ... acm...

4
Išretintos matricos 3 paskaita Olga Štikonien ˙ e Diferencialiniu˛ lygˇ ciu˛ ir skaiˇ ciavimo matematikos katedra, MIF VU TAL skaitiniai metodai (MIF VU) Išretintos matricos 1 / 27 Išretintos matricos Išretintos matricos Dažnai reikia spr ˛ esti labai dideles TLS Ax = b (n = 10 5 yra mažas šiame kontekste!), kur beveik visi elementai lyg¯ us nuliui. Tokia matrica vadinama išretinta (angl. sparse matrix). A sparse matrix is a matrix that allows special techniques to take advantage of the large number of zero elements. (Wilkinson) (1969) Reikalinga, kad: 1 matricos L ir U paveld ˙ etu ˛ kiek i ˛manoma didesni ˛ išretinim ˛ a, 2 skaiˇ ciavimo apimtis turi priklausyti nuo nenuliniu ˛elementu˛ skaiˇ ciaus, o ne nuo matricos elementu ˛ skaiˇ ciaus (n 2 ). I ˛rankis – eiluˇ ciu ˛ ir/arba stulpeliu ˛ sukeitimas siekiant sumažinti matricu˛ L ir U užpildymus. TAL skaitiniai metodai (MIF VU) Išretintos matricos 2 / 27 Išretintos matricos Išretintos matricos era nustatyti, kiek nuliniu˛ elementu ˛ turi b ¯ uti išretintoje matricoje: Nenuliu˛elementu˛skaiˇ cius n-osios eil ˙ es matricoje: yra O(N). Šis apibr˙ ežimas tinka tik matriciniu ˛ algoritmu ˛ asimptotinio savybiu˛ teorinei analizei; paprastai neviršija 10 kiekvienoje eilut˙ eje; nedaugiau nei n 1+γ cia γ< 1 ; yra toks, kad duotojo algoritmo taikymas yra prasmingas atsižvelgiant i ˛ matricos nulius. TAL skaitiniai metodai (MIF VU) Išretintos matricos 3 / 27 Išretintos matricos Išretintos matricos So what is a sparse matrix ... ? A sparse matrix is a matrix that allows special techniques to take advantage of the large number of zero elements. (Wilkinson) (1969) This definition helps to define "how many" zeros a matrix needs in order to be "sparse." The answer is that it depends on what the structure of the matrix is, and what you want to do with it. Pavyzdys A randomly generated sparse n × n matrix with cn entries scattered randomly throughout the matrix is not sparse in the sense of Wilkinson (for direct methods) since it takes O(n 3 ) time to factorize (with high probability and for large enough c; Gilbert et al. 1992). TLS Ax = b efektyvus sprendimas tur ˙ etu ˛ išnaudoti išretint ˛ a strukt ¯ ur ˛ a. TAL skaitiniai metodai (MIF VU) Išretintos matricos 4 / 27 Išretintos matricos Išretintos matricos – taikymai Table II. Summary of Problem.kind for all 2272 problems 1516 problems with no 2D/3D geometry 342 linear programming problem 299 combinatorial problem 251 circuit simulation problem 135 optimization problem 88 directed graph 70 chemical process simulation problem 68 economic problem 68 random graph 61 theoretical/quantum chemistry problem 56 power network problem 23 least squares problem 23 undirected graph 11 counter-example problem 10 statistical/mathematical problem 8 bipartite graph 4 frequency-domain circuit simulation problem 756 problems with 2D/3D geometry 288 structural problem 166 computational fluid dynamics problem 94 2D/3D problem (other than those listed elsewhere) 44 electromagnetics problem 42 model reduction problem 35 semiconductor device problem 31 thermal problem 28 materials problem 13 acoustics problem 12 computer graphics/vision problem 3 robotics problem The University of Florida Sparse Matrix Collection TAL skaitiniai metodai (MIF VU) Išretintos matricos 5 / 27 Išretintos matricos Išretintos matricos – taikymai Sparse matrices arise in ... computational fluid dynamics, finite-element methods, statistics, time/frequency domain circuit simulation, dynamic and static modeling of chemical processes, cryptography, magneto-hydrodynamics, electrical power systems, differential equations, quantum mechanics, structural mechanics (buildings, ships, aircraft, human body parts...), heat transfer, MRI reconstructions, vibroacoustics, linear and non-linear optimization, financial portfolios, semiconductor process simulation, economic modeling, oil reservoir modeling, astrophysics, crack propagation, Google page rank, 3D computer vision, cell phone tower placement, tomography, multibody simulation, model reduction, nano-technology, acoustic radiation, density functional theory, quadratic assignment, elastic properties of crystals, natural language processing, DNA electrophoresis, ... TAL skaitiniai metodai (MIF VU) Išretintos matricos 6 / 27 Išretintos matricos Juostin ˙ es matricos Matrica A yra juostin ˙ e, jei r N : r < n, toks, kad a ij = 0, kai |i - j| > r, i, j = 1,..., n. T.y. išskyrus juostas ploˇ cio 2r + 1 prie pagrindin ˙ es i ˛strižain ˙ es, visi kiti elementai yra nuliniai. Šiuo atveju A = LU reiškia, kad l ij = u ij = 0, kai |i - j| > r. LU faktorizacija irgi turi išretint ˛ a strukt ¯ ur ˛ a. Skai ˇ ciavimo apimtis n × n matricos A LU faktorizacija – O(n 3 ) veiksmu ˛, sistemos Ax = b sprendinio apskaiˇ ciavimas, kai faktorizacija jau žinoma – O(n 2 ) veiksmu˛. Kai A yra išretinta matrica, O(r 2 n) veiksmu ˛ faktorizuojant ir O(rn) veiksmu˛ sprendžiant TLS. Jei r n akivaizdus didelis taupimas. r = 1 : r = 2 : TAL skaitiniai metodai (MIF VU) Išretintos matricos 7 / 27 Išretintos matricos Teorema apie išretintos matricos LU faktorizacij ˛ a Teorema Tegul A = LU - išretintos matricos A LU faktorizacija be pagrindinio elemento parinkimo. Nuliai esantys eilut ˙ es pradžioje (iki pirmojo nenulinio) pritaikius ši ˛ algoritm ˛ a atsiras ir L matricoje, nuliai esantys stulpelio viršuje (iki pirmojo nenulinio) atsiras U matricoje. * * * * * * = * * * * * * * * * * * * ˇ cia *, ir - nenuliniai elementai. TAL skaitiniai metodai (MIF VU) Išretintos matricos 8 / 27

Upload: truongnhi

Post on 24-Jun-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Išretintos matricos - 3 paskaitaolgas/TASM/TASM_3p.pdf · Išretintos matricos 3 paskaita ... ACM Transactions on Mathematical Software, Vol. V, No. N, M 2 0YY. The University of

Išretintos matricos3 paskaita

Olga Štikoniene

Diferencialiniu lygciu ir skaiciavimo matematikos katedra, MIF VU

TAL skaitiniai metodai (MIF VU) Išretintos matricos 1 / 27

Išretintos matricos

Išretintos matricos

Dažnai reikia spresti labai dideles TLS Ax = b (n = 105 yra mažasšiame kontekste!), kur beveik visi elementai lygus nuliui. Tokia matricavadinama išretinta (angl. sparse matrix).

A sparse matrix is a matrix that allows special techniques to takeadvantage of the large number of zero elements. (Wilkinson) (1969)

Reikalinga, kad:1 matricos L ir U paveldetu kiek imanoma didesni išretinima,2 skaiciavimo apimtis turi priklausyti nuo nenuliniu elementu

skaiciaus, o ne nuo matricos elementu skaiciaus (n2).Irankis – eiluciu ir/arba stulpeliu sukeitimas siekiant sumažinti matricuL ir U užpildymus.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 2 / 27

Išretintos matricos

Išretintos matricos

Nera nustatyti, kiek nuliniu elementu turi buti išretintoje matricoje:Nenuliu elementu skaicius n-osios eiles matricoje:

yra O(N). Šis apibrežimas tinka tik matriciniu algoritmuasimptotinio savybiu teorinei analizei;paprastai neviršija 10 kiekvienoje eiluteje;nedaugiau nei n1+γ , cia γ < 1 ;yra toks, kad duotojo algoritmo taikymas yra prasmingasatsižvelgiant i matricos nulius.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 3 / 27

Išretintos matricos

Išretintos matricos

So what is a sparse matrix ... ?

A sparse matrix is a matrix that allows special techniques to takeadvantage of the large number of zero elements. (Wilkinson) (1969)

This definition helps to define "how many" zeros a matrix needs inorder to be "sparse." The answer is that it depends on what thestructure of the matrix is, and what you want to do with it.

PavyzdysA randomly generated sparse n× n matrix with cn entries scatteredrandomly throughout the matrix is not sparse in the sense of Wilkinson(for direct methods) since it takes O(n3) time to factorize (with highprobability and for large enough c; Gilbert et al. 1992).

TLS Ax = b efektyvus sprendimas turetu išnaudoti išretintastruktura.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 4 / 27

Išretintos matricos

Išretintos matricos – taikymai8 · T. A. Davis and Y. Hu

Table II. Summary of Problem.kind for all 2272 problems1516 problems with no 2D/3D geometry

342 linear programming problem

299 combinatorial problem

251 circuit simulation problem

135 optimization problem

88 directed graph

70 chemical process simulation problem

68 economic problem

68 random graph

61 theoretical/quantum chemistry problem

56 power network problem

23 least squares problem

23 undirected graph

11 counter-example problem

10 statistical/mathematical problem

8 bipartite graph

4 frequency-domain circuit simulation problem

756 problems with 2D/3D geometry

288 structural problem

166 computational fluid dynamics problem

94 2D/3D problem (other than those listed elsewhere)

44 electromagnetics problem

42 model reduction problem

35 semiconductor device problem

31 thermal problem

28 materials problem

13 acoustics problem

12 computer graphics/vision problem

3 robotics problem

Fig. 3. Overall histograms of matrix dimensions and nonzeros

ACM Transactions on Mathematical Software, Vol. V, No. N, M 20YY.

The University of Florida Sparse Matrix CollectionTAL skaitiniai metodai (MIF VU) Išretintos matricos 5 / 27

Išretintos matricos

Išretintos matricos – taikymai

Sparse matrices arise in ... computational fluid dynamics, finite-elementmethods, statistics, time/frequency domain circuit simulation, dynamic andstatic modeling of chemical processes, cryptography,magneto-hydrodynamics, electrical power systems, differential equations,quantum mechanics, structural mechanics (buildings, ships, aircraft, humanbody parts...), heat transfer, MRI reconstructions, vibroacoustics, linear andnon-linear optimization, financial portfolios, semiconductor processsimulation, economic modeling, oil reservoir modeling, astrophysics, crackpropagation, Google page rank, 3D computer vision, cell phone towerplacement, tomography, multibody simulation, model reduction,nano-technology, acoustic radiation, density functional theory, quadraticassignment, elastic properties of crystals, natural language processing, DNAelectrophoresis, ...

TAL skaitiniai metodai (MIF VU) Išretintos matricos 6 / 27

Išretintos matricos

Juostines matricos

Matrica A yra juostine, jei ∃ r ∈ N : r < n, toks, kad aij = 0, kai|i− j| > r, i, j = 1, . . . , n.T.y. išskyrus juostas plocio 2r + 1 prie pagrindines istrižaines, visikiti elementai yra nuliniai.Šiuo atveju A = LU reiškia, kad lij = uij = 0, kai |i− j| > r.⇒ LU faktorizacija irgi turi išretinta struktura.

Skaiciavimo apimtisn× n matricos A LU faktorizacija – O(n3) veiksmu,sistemos Ax = b sprendinio apskaiciavimas, kai faktorizacija jaužinoma – O(n2) veiksmu.Kai A yra išretinta matrica, O(r2n) veiksmu faktorizuojantir O(rn) veiksmu sprendžiant TLS.Jei r � n akivaizdus didelis taupimas.

r = 1 :

• •• • •

• • •• • •

• • •• •

r = 2 :

• • •• • • •• • • • •

• • • • •• • • •

• • •

TAL skaitiniai metodai (MIF VU) Išretintos matricos 7 / 27

Išretintos matricos

Teorema apie išretintos matricos LU faktorizacija

TeoremaTegul A = LU - išretintos matricos A LU faktorizacija be pagrindinioelemento parinkimo.

Nuliai esantys eilutes pradžioje (iki pirmojo nenulinio) pritaikius šialgoritma atsiras ir L matricoje,nuliai esantys stulpelio viršuje (iki pirmojo nenulinio) atsiras Umatricoje.

∗ • • •◦ ∗ • • •◦ ◦ ∗ • • •

◦ ∗ • •◦ ◦ ◦ ∗ •

◦ ◦ ◦ ◦ ◦ ∗

=

∗◦ ∗◦ ◦ ∗

◦ ∗◦ ◦ ◦ ∗

◦ ◦ ◦ ◦ ◦ ∗

∗ • • •∗ • • •∗ • • •∗ • •∗ •∗

cia ∗, ◦ ir • - nenuliniai elementai.TAL skaitiniai metodai (MIF VU) Išretintos matricos 8 / 27

Page 2: Išretintos matricos - 3 paskaitaolgas/TASM/TASM_3p.pdf · Išretintos matricos 3 paskaita ... ACM Transactions on Mathematical Software, Vol. V, No. N, M 2 0YY. The University of

Išretintos matricos

Teoremos apie LU faktorizacija irodymas

Teoremos irodymas Nagrinekime i-aja matricos A eilute. Tegul0 = ai1 = ai2 = · · · = 0 – nuliniai elementai i-osios eilutes pradžioje.Kadangi ukk 6= 0 iš LU išskaidymo formuliu išplaukia

0 = ai1 = li1u11 ⇒ li1 = 00 = ai2 = li1u12 + li2u22 ⇒ li2 = 00 = ai3 = li1u13 + li2u23 + li3u33 ⇒ li3 = 0 ir t.t.

Analogiškai nuliniams elementams j-ojo stulpelio pradžioje (lkk = 1):

0 = a1j = l11u1j ⇒ u1j = 00 = a2j = l21u1j + l22u2j ⇒ u2j = 00 = a3j = l31u1j + l32u2j + l33u3j ⇒ u3j = 0 ir t.t.2

TAL skaitiniai metodai (MIF VU) Išretintos matricos 9 / 27

Išretintos matricos

Teorema apie išretintos matricos LU faktorizacija

Ši teorema rodo, kad norint išskaidyti išretintomis matricomis,galima bandyti taip pertvarkyti matricos A eilutes ir stulpelius, kadkaip galima daugiau nuliniu elementu atsirastu eiluciu ir stulpeliupradžioje. Tai sumažins matricu užpildyma.Labai efektyvus pagrindinio elemento parinkimo metodasminimizuojantis išretintos matricos užpildyma naudoja grafuteorija (mes nenagrinesime).

TAL skaitiniai metodai (MIF VU) Išretintos matricos 10 / 27

Išretintos matricos

Choleckio dekompozicijos užpildymo efektas: Matlab pavyzdys

11

Рис. 2. Эффект заполнения при разложении Холецкого. Следует отметить, что при разложении матриц общего вида (LU-разложение)

проблема поиска таких перестановок осложняется тем, что требуется обеспечить еще и численную устойчивость, т.е. избежать сильного накопления ошибок в процессе разложения. При разложении симметричных положительно определенных матриц мы имеем право делать произвольные симметричные перестановки строк и столбцов, т.к. устойчивость в этом случае будет гарантирована.

Как правило, поиск эффективных перестановок строк и столбцов приводит к NP-полным задачам, поэтому для поиска таких перестановок применяются эвристические алгоритмы, которые не дают гарантированного оптимального решения, но позволяют существенно уменьшит заполнение в процессе разложения, а значит, сэкономить время и память.

Заинтересованным читателям можно порекомендовать классические книги [1], [2], посвященные перечисленным здесь проблемам и соответствующим алгоритмам для их решения. Мы же обратимся к некоторым примерам.

Одним из популярных алгоритмов симметричной перестановки строк и столбцов является обратный алгоритм Катхилла-Макки, который стремится уменьшить так называемый профиль матрицы, т.е. сумму длин лент каждой строки (под лентой мы понимаем часть строки, начинающейся с первого ненулевого элемента и идущей до диагонали). Дело в том, что профиль множителя разложения Холецкого совпадает с профилем треугольника исходной матрицы, поэтому есть смысл уменьшать профиль исходной матрицы для минимизации объема вычислительной работы и затрат памяти.

На рисунке 3 сверху приведена исходная матрица AN и множитель ее разложения по Холецкому RN. В нем содержится 2811 ненулевых элементов. В нижней части рисунка 3 приведена матрица с переставленными строками и столбцами. Перестановки найдены при помощи функции symrcm, в которой реализован обратный алгоритм Катхилла-Макки и соответствующий множитель разложения такой матрицы. В нем уже гораздо меньше ненулевых элементов, именно 1396. Соответствующий код приведен ниже рисунка.

Tiesioginiai TLS su išretintomis matricomis sprendimo metodai.Pagrindine problema – nauju nenuliniu elementu atsiradimas.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 11 / 27

Išretintos matricos

PavyzdžiaiFaktorizacijoje matricos L ir U pakankamai užpildytos−3 1 1 2 01 −3 0 0 11 0 2 0 02 0 0 3 00 1 0 0 3

=

1

− 13 1

− 13 − 1

8 1

− 23 − 1

4619 1

0 − 38

119

481 1

−3 1 1 2 0

− 83

13

23 1

198

34

18

8119

419

27281

.

Keiciant (simetriškai) eilutes ir stulpelius 1↔ 3, 2↔ 4 ir 4↔ 5,gauname

2 0 1 0 00 3 2 0 01 2 −3 0 10 0 0 3 10 0 1 1 −3

=

1

112

23 1

1

− 629

13 1

2 1

3 2− 29

6 13 1− 272

87

.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 12 / 27

Išretintos matricos

2 pavyzdys

Nenuliniai elementai yra tik istrižaineje, vienoje eiluteje ir vienamestulpelyje

A =

4 1 1 11 11 11 1

=

114 114 −1

3 114 −1

3 − 12 1

4 1 1 134 − 1

4 −14

23 −1

312

.

Užpildyti eilute ir stulpelis turetu buti matricos apacioje ir dešinejeatitinkamai (arrow matrix).

PA =

1 1

1 11 1

1 1 1 4

=

1

11

1 1 1 1

1 11 1

1 11

.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 13 / 27

Išretintos matricos

2 pavyzdys - komentaras

Taikant Gauso metoda lieka visi nuliniai elementai, todel L ir Uelementus galima saugoti vietoj matricos PA nenuliniu elementu.Bendru atveju streles tipo matricai A ∈ Rn×n reikia saugoti 3n− 2elementu vietoj n2. Gauso metodo skaiciavimo apimtis yra 3n− 3vietoj 2

3 n3.Kai n yra didelis, šie skaiciavimo veiksmu ir atminties reikalavimaiyra labai maži lyginant su pilnai užpildytu matricu atveju.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 14 / 27

Išretintos matricos

Taikymai ir sprendimo metodai

Daug taikymu, pvz., diferencialiniu lygciu dalinemis išvestinemissprendimas.Sprendimo metodai:

Efektyvi faktorizacija, minimizuojanti užpildymus.Iteraciniai metodai.Kiti labai efektyvus metodai - greitoji Furje transformacija,preconditioned jungtiniu gradientu metodas, daugiatinkliniaimetodai ir t.t.

Išretinta matrica gali buti saugoma atmintyje kaip sarašas, kurioelementuose rašomos matricos elementu reikšmes ir ju koordinates.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 15 / 27

Išretintos matricos

Matlab:

8

УДК 519.67

РАБОТА С РАЗРЕЖЕННЫМИ МАТРИЦАМИ В MATLAB

Ануфриев И.Е. Санкт-Петербургский государственный политехнический университет, Санкт-

Петербург, e-mail: [email protected]

Введение Часто под разреженными матрицами понимаются матрицы, содержащие «много»

нулевых элементов. Это несколько расплывчатое определение. Под разреженными матрицами более корректно понимать совокупность схемы хранения данных в сочетании с соответствующим алгоритмом для выполнения требуемой операции. Если предложенные схема хранения данных и алгоритм позволяют получить выигрыш по памяти и времени (приоритеты зависят от конкретной задачи) по сравнению с обычной схемой хранения в виде массива и обычным алгоритмом, то тогда имеет смысл говорить о разреженных матрицах.

Разреженные матрицы возникают в различных задачах, которые объединены одним общим свойством: в этих задачах присутствует большое количество неизвестных, связанных между собой уравнениями, однако в каждую связь входит лишь некоторые неизвестные.

Мы рассмотрим работу с разреженными матрицами в MATLAB: схему хранения, визуализацию, решение разреженных систем линейных алгебраических уравнений прямыми и предобусловленными итерационными методами. Некоторое внимание мы уделим использованию разреженных матриц в отдельных Toolbox’ах.

Схема хранения разреженных матриц и операции с ними Разреженные матрицы хранятся в MATLAB в компактной форме,

подразумевающей хранение только ненулевых элементов и соответствующих строчных и столбцевых индексов. Проще всего понять схему хранения, обратившись к функции sparse, одно из назначений которой — преобразование обычного массива MATLAB в разреженную форму:

A = [10 0 0 0 0 20 30 40 0]; S = sparse(A) S = (1,1) 10 (3,1) 30 (3,2) 40 (2,3) 20 Преимущества такой схемы хранения очевидны: нужна память только для

ненулевых элементов типа double и индексов типа uint32. Соответственно, массив A занимает 72 байта, а для хранения переменной S требуется 64 байта (разумеется, для больших разреженных матриц выигрыш будет куда более весомый).

Конечно, для создания разреженной матрицы вовсе не требуется, как в предыдущем примере, создавать сначала двумерный массив, а затем преобразовывать его функцией sparse (для больших матриц это и невозможно). Можно сразу указать ненулевые элементы и их расположение в матрице (и размер, поскольку последние строки или

S = sparse([1 3 3 2], [1 1 2 3], [10 30 40 20], 3, 3)A = full(S)spdiags (jei nenulines istrižaines )

TAL skaitiniai metodai (MIF VU) Išretintos matricos 16 / 27

Page 3: Išretintos matricos - 3 paskaitaolgas/TASM/TASM_3p.pdf · Išretintos matricos 3 paskaita ... ACM Transactions on Mathematical Software, Vol. V, No. N, M 2 0YY. The University of

Išretintos matricos

Pavyzdys rodo paieškos algoritmu greiti ir efektyvuma.

1 Generuojama simetrine teigiamai apibrežta matrica.2 Atliekama jos Choleckio faktorizacija.3 Sprendžiama TLS sistema.4 Matuojamas laikas

Lyginamas su analogišku sprendimu, tik prieš faktorizacija atliekamaperstatymu paieška pagal paieškos algoritma Cuthill-McKee.Original lu(B)Reverse Cuthill-McKee lu(B(r,r))Approximate minimum degree lu(B(m,m))

TAL skaitiniai metodai (MIF VU) Išretintos matricos 17 / 27

Išretintos matricos

Reverse Cuthill-McKee algoritmas

Algoritmo symamd efektyvumas:

12

Рис. 3. Демонстрация работы и эффективности алгоритма symrcm. n = 150; % генерируем положительно определенную разреженную матрицу % и визуализируем ее AN = sprand(n, n, 0.01); AN = AN + AN'; AN = AN + 100*speye(n); subplot(2,2,1), spy(AN), title('AN') % делаем разложение Холецкого исходной матрицы % и визуализируем множитель разложения RN = chol(AN); subplot(2,2,2), spy(RN), title('RN: AN = RN^T * RN') % находим перестановки строк и столбцов по обратному % алгоритму Катхилла-Макки и визуализируем матрицу с переставленными % строками и столбцами perm = symrcm(AN) subplot(2,2,3) spy(AN(perm, perm)), title('AN после symrcm') % делаем разложение Холецкого измененной матрицы % и визуализируем множитель разложения RN = chol(AN(perm, perm)); subplot(2,2,4), spy(RN), title('RN после symrcm') Для минимизации заполнения имеются и другие алгоритмы, в частности, алгоритм

минимальной степени, который реализован в функции symamd. Соответствующая демонстрация представлена на рис. 4 (заполнение уменьшилось почти в 4 раза), а код приведен ниже рисунка.

Eiluciu ir stulpeliu perstatymo laiko sanaudos turi buti mažesnis neipradines matricos išskaidymas.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 18 / 27

Išretintos matricos

Minimalaus laipsnio algoritmas

Minimum degree algorithmAlgoritmo symrcm efektyvumas:

13

Рис. 4. Демонстрация работы и эффективности алгоритма symamd.

n = 150; % генерируем положительно определенную разреженную матрицу % и визуализируем ее AN = sprand(n, n, 0.01); AN = AN + AN'; AN = AN + 100*speye(n); subplot(2,2,1), spy(AN), title('AN') % делаем разложение Холецкого исходной матрицы % и визуализируем множитель разложения RN = chol(AN); subplot(2,2,2), spy(RN), title('RN: AN = RN^T * RN') % находим перестановки строк и столбцов по алгоритму минимальной степени % и визуализируем матрицу с переставленными строками и столбцами perm = symamd(AN); subplot(2,2,3) spy(AN(perm, perm)), title('AN после symamd') % делаем разложение Холецкого измененной матрицы % и визуализируем множитель разложения RN = chol(AN(perm, perm)); subplot(2,2,4), spy(RN), title('RN после symamd') В идеале, предварительная работа по поиску перестановок строк и столбцов не

должна занимать слишком много времени. Говоря более точно, временные затраты на поиск перестановок и последующее разложение должны быть меньше, чем разложение исходной матрицы. (Хотя, иногда требуется решить целый набор систем, причем матрицы этих систем имеют одинаковые шаблоны. Следовательно, поиск перестановок достаточно выполнить только один раз).

Быстроту и эффективность алгоритмов поиска перестановок демонстрирует следующий пример. В нем генерируется разреженная положительно определенная матрица, выполняется ее разложение Холецкого и при помощи него решается система с

TAL skaitiniai metodai (MIF VU) Išretintos matricos 19 / 27

Išretintos matricos

15

Рис. 5. Влияние порогового значения TRESH на заполнение множителей LU-разложения

% создаем разреженную матрицу n = 1000; AN = sprand(n, n, 0.005); AN = AN + 2*n*speye(n); % задаем массив пороговых значений для lu TRESH = logspace(-7,-2,30); NNZ = []; % в цикле меняем пороговое значение, делаем LU-разложение % и вычисляем количество ненулевых элементов в множителях L и U for tresh = TRESH [L, U, P, Q] = lu(AN, tresh); NNZ = [NNZ nnz(L+U)]; end % выводим зависимость заполнения множителей LU-разложения % от порогового значения TRESH semilogx(TRESH, NNZ) xlabel('TRESH') ylabel('количество ненулевых элементов в L+U') Итерационные методы для решения разреженных систем линейных

алгебраических уравнений Итерационные методы решения систем позволяют найти приближенное решение за

некоторое количество итераций. При этом, количество итераций зависит от числа обусловленности матрицы системы: чем больше число обусловленности, тем больше требуется итераций для нахождения решения с приемлемой точностью. Обычно, стараются снизить количество итераций. Для этого применяют, так называемые,

TAL skaitiniai metodai (MIF VU) Išretintos matricos 20 / 27

Išretintos matricos

3 pavyzdys iš J. Demmel Applied Numerical Linear Algebra

TAL skaitiniai metodai (MIF VU) Išretintos matricos 21 / 27

Išretintos matricos

3 pavyzdys - mechanine struktura

Mazgai ir briaunos nuspalvinti ir sunumeruoti, juos atitinka išretintosmatricos A nenuliniai elementai. Pvz., pirmieji 49 tinklo mazgai (kaireje- žalia spalva) atitinka matricos A eilutes ir stulpeliai su numeriais nuo1 iki 49.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 22 / 27

Išretintos matricos

3 pavyzdys - Cholecko metodo matrica

Išretinta matrica A ir atitinkama Choleckio matrica L.

Matricos L nenuliniai elementai, atitinkantys A nenuliniuselementus, nuspalvinti juoda spalva.Nauji nenuliniai L elementai nuspalvinti raudonai.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 23 / 27

Išretintos matricos

3 pavyzdys - Cholecko metodo matrica

Pertvarkant matricos A eilutes ir stulpelius galima sumažinti matricos Lnenuliniu elementu ir skaiciavimo veiksmu skaiciu.

21% sumažejo L užpildymas,39% sumažejo aritmetiniu veiksmu skaicius.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 24 / 27

Page 4: Išretintos matricos - 3 paskaitaolgas/TASM/TASM_3p.pdf · Išretintos matricos 3 paskaita ... ACM Transactions on Mathematical Software, Vol. V, No. N, M 2 0YY. The University of

Išretintos matricos

3 pavyzdys - Cholecko metodo matrica

Dar 7% sumažejo L užpildymas,bet 9% padidejo aritmetiniu veiksmu skaicius.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 25 / 27

Išretintos matricos

The University of Florida Sparse Matrix Collection20 · T. A. Davis and Y. Hu

Fig. 13. A sample of matrices from the Collection, for the purpose of illustrating the complexity

and diversity of matrices arising in real applications

nearly-dense rows/columns could lead to unacceptable ordering time. Is the bound(1) reached in practice? What is the average-case time complexity of AMD?Determining the theoretical average-case time complexity is beyond the scope of

any analysis that has been done for this algorithm, so the best that can be doneis to test the method on a set of “average” sparse matrices that arise in practice.The results of ordering A + AT (ignoring numerical cancellation in the matrixaddition) on all square matrices in the Collection (as of November 2006) whosenonzero pattern is symmetric (or mostly so) are shown in Figures 14 and 15. Thecode for selecting this set is shown in Section 6.2. Each matrix is a single dot inFigures 14 and 15.

The results are split into two sets: matrices from problems with 2D/3D geometry,and problems without any underlying geometry. A best-fit line is shown (admittedlynot a very good fit). Figure 15 indicates that the average-case run time may beslightly super-linear in |A| (at least for 2D/3D problems), with the best-fit line being

ACM Transactions on Mathematical Software, Vol. V, No. N, M 20YY.

http://www.cise.ufl.edu/research/sparse/matrices

The large andactively growing setof sparse matricesthat arise in realapplications.The Collection iswidely used by thenumerical linearalgebra communityfor the developmentand performanceevaluation of sparsematrix algorithms.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 26 / 27

Išretintos matricos

The University of Florida Sparse Matrix CollectionBelow is Yifan Hu's graph drawing of the Chen/pkustk01 matrix that I obtained from Pu Chen, Beijing University. The matrix is a modelof the Beijing Botanical Garden Conservatory. Overlayed on top of the graph is a picture of the actual building.

Tim Davis: University of Florida Sparse Matrix Collection : sparse mat... http://www.cise.ufl.edu/research/sparse/matrices/

5 iš 5 2012-05-22 00:13

The matrix is a model of the Beijing Botanical Garden Conservatory.Overlayed on top of the graph is a picture of the actual building.22 044 eiluciu ir stulpeliu. Simetrine matrica.

TAL skaitiniai metodai (MIF VU) Išretintos matricos 27 / 27