turinys kurso tikslai turinys - pradžiaolgas/tasm/tasm_1p.pdf · olgas/ ... 10 there is remarkably...

8
Tiesiniu ˛ lygˇ ciu˛sistemu˛sprendimas Olga Štikonien ˙ e Diferencialiniu˛ lygˇ ciu˛ ir skaiˇ ciavimo matematikos katedra, MIF VU TAL skaitiniai metodai (MIF VU) Tiesiniu˛ lygˇ ciu˛sistemu˛sprendimas 1 / 58 Turinys 1 Istorin ˙ e apžvalga 2 TLS sprendimas 3 Gauso metodas 4 Trii ˛strižain ˙ es sistemos TAL skaitiniai metodai (MIF VU) Tiesiniu˛ lygˇ ciu˛sistemu˛sprendimas 2 / 58 Kurso strukt¯ ura Kurso tikslai 1 I ˛vertinti skirtingus skaitinius sprendimo metodus (žinant ju ˛ privalumus ir tr¯ ukumus); 2 I ˛gyti galimyb ˛ e skaitiškai spr ˛ esti taikomuosius uždavinius. Sandas: Supažindinama su skaitiniais metodais sprendžiant i ˛vairaus tipo tiesin ˙ es algebros uždavinius. Pateikiami teoriniai tokiu˛ uždaviniu ˛ stabilumo ir konvergavimo analiz ˙ es pagrindai. Supažindinama su aprioriniais ir aposterioriniais paklaidos nustatymo b ¯ udais. Mokoma kaip i ˛veikti skaiˇ ciavimo metu iškylanˇ cius i ˛vairius sunkumus. http://www.mif.vu.lt/~olgas/ TAL skaitiniai metodai (MIF VU) Tiesiniu˛ lygˇ ciu˛sistemu˛sprendimas 3 / 58 Kurso strukt¯ ura Turinys: Tiesines algebros uždaviniai Tiesiniu ˛ lygˇ ciu ˛ sistemu ˛ sprendimas Tikriniu ˛ reikšmiu ˛ uždavinys Atvirkštiniu ˛ ir pseudoatvirkštiniu ˛ matricu ˛ radimas Matriciniu ˛ daugianariu ˛ ir matriciniu ˛ lygˇ ciu ˛ sprendimas 1 Tiesiniu ˛ lygˇ ciu ˛ sistemu ˛ tiesioginiai sprendimo metodai. 2 Tiesiniu ˛ lygˇ ciu ˛ sistemu ˛ iteraciniai sprendimo metodai. 3 Tiesiniu ˛ lygˇ ciu ˛ sistemu ˛ variaciniai sprendimo metodai. TAL skaitiniai metodai (MIF VU) Tiesiniu˛ lygˇ ciu˛sistemu˛sprendimas 4 / 58 Kurso strukt¯ ura Literat ¯ ura 1 V.B ¯ uda, R. ˇ Ciegis. Skaiˇ ciuojamoji matematika, Vilnius: TEV , 1997. 2 B.Kvedaras, M.Sapagovas. Skaiˇ ciavimo metodai, V.: Mintis, 1974. 3 L.N. Trefethen, D. Baw. Numerical Linear Algebra, SIAM, 1997. 4 J.W. Demmel. Applied Numerical Linear Algebra, SIAM, 1997. 5 E. Suli and D. F. Mayers. An Introduction to Numerical Analysis, Cambridge University Press, 2003. 6 C.D.Meyer. Matrix Analysis and Applied Linear Algebra, SIAM, 2001. 7 J.H.Mathews, K.D.Fink. Numerical methods Using MATLAB, Prentice Hall, 2004. http://math.fullerton.edu/mathews/numerical.html 8 A.Quarteroni, F.Saleri and P. Gervasio. Scientific Computing with MATLAB and Octave. Springer, 2010. 9 A.Quarteroni, R.Sacco, F.Saleri. Numerical Mathematics, Springer, 2000. TAL skaitiniai metodai (MIF VU) Tiesiniu˛ lygˇ ciu˛sistemu˛sprendimas 5 / 58 Kurso strukt¯ ura Ten surprises from numerical linear algebra www.johndcook.com/blog/2010/01/20/ten-surprises-from-numerical-linear-algebra/ Here are ten things about numerical linear algebra that you may find surprising if you’re not familiar with the field. 1 Numerical linear algebra applies very advanced mathematics to solve problems that can be stated with high school mathematics. 2 Practical applications often require solving enormous systems of equations, millions or even billions of variables. 3 The heart of Google is an enormous linear algebra problem. PageRank is essentially an eigenvalue problem. 4 The efficiency of solving very large systems of equations has benefited at least as much from advances in algorithms as from Moore’s law. 5 Many practical problems — optimization, differential equations, signal processing, etc. — boil down to solving linear systems, even when the original problems are non-linear. Finite element software, for example, spends nearly all its time solving linear equations. 6 A system of a million equations can sometimes be solved on an ordinary PC in under a millisecond, depending on the structure of the equations. 7 Iterative methods, methods that in theory require an infinite number of steps to solve a problem, are often faster and more accurate than direct methods, methods that in theory produce an exact answer in a finite number of steps. 8 There are many theorems bounding the error in solutions produced on real computers. That is, the theorems don’t just bound the error from hypothetical calculations carried out in exact arithmetic but bound the error from arithmetic as carried out in floating point arithmetic on computer hardware. 9 It is hardly ever necessary to compute the inverse of a matrix. 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this software for many years. TAL skaitiniai metodai (MIF VU) Tiesiniu˛ lygˇ ciu˛sistemu˛sprendimas 6 / 58 Kurso strukt¯ ura p(x)= a 4 x 4 + a 3 x 3 + a 2 x 2 + a 1 x + a 0 q(x)= d 5 x 5 + d 4 x 4 + d 3 x 3 + d 2 x 2 + d 1 x + d 0 TAL skaitiniai metodai (MIF VU) Tiesiniu˛ lygˇ ciu˛sistemu˛sprendimas 7 / 58 Kurso strukt¯ ura Here are three more examples of problems that can be solved in principle by a finite sequence of elementary operations, like rootfinding for p. (i) Linear equations: solve a system of n linear equations in n unknowns. (ii) Linear programming: minimize a linear function of n variables subject to m linear constraints. (iii) Traveling salesman problem: find the shortest tour between n cities. And here are five that, like rootfinding for q, cannot generally be solved in this manner. (iv) Find an eigenvalue of an n × n matrix. (v) Minimize a function of several variables. (vi) Evaluate an integral. (vii) Solve an ordinary differential equation (ODE). (viii) Solve a partial differential equation (PDE). TAL skaitiniai metodai (MIF VU) Tiesiniu˛ lygˇ ciu˛sistemu˛sprendimas 8 / 58

Upload: dinhphuc

Post on 24-Jun-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Turinys Kurso tikslai Turinys - Pradžiaolgas/TASM/TASM_1p.pdf · olgas/ ... 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this

Tiesiniu lygciu sistemu sprendimas

Olga Štikoniene

Diferencialiniu lygciu ir skaiciavimo matematikos katedra, MIF VU

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 1 / 58

Turinys

1 Istorine apžvalga

2 TLS sprendimas

3 Gauso metodas

4 Triistrižaines sistemos

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 2 / 58

Kurso struktura

Kurso tikslai

1 Ivertinti skirtingus skaitinius sprendimo metodus (žinant juprivalumus ir trukumus);

2 Igyti galimybe skaitiškai spresti taikomuosius uždavinius.

Sandas:Supažindinama su skaitiniais metodais sprendžiant ivairaus tipotiesines algebros uždavinius.Pateikiami teoriniai tokiu uždaviniu stabilumo ir konvergavimoanalizes pagrindai.Supažindinama su aprioriniais ir aposterioriniais paklaidosnustatymo budais.Mokoma kaip iveikti skaiciavimo metu iškylancius ivairiussunkumus.

http://www.mif.vu.lt/~olgas/

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 3 / 58

Kurso struktura

Turinys:

Tiesines algebros uždaviniaiTiesiniu lygciu sistemu sprendimasTikriniu reikšmiu uždavinysAtvirkštiniu ir pseudoatvirkštiniu matricu radimasMatriciniu daugianariu ir matriciniu lygciu sprendimas

1 Tiesiniu lygciu sistemu tiesioginiai sprendimo metodai.2 Tiesiniu lygciu sistemu iteraciniai sprendimo metodai.3 Tiesiniu lygciu sistemu variaciniai sprendimo metodai.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 4 / 58

Kurso struktura

Literatura

1 V.Buda, R.Ciegis. Skaiciuojamoji matematika, Vilnius: TEV , 1997.2 B.Kvedaras, M.Sapagovas. Skaiciavimo metodai, V.: Mintis, 1974.3 L.N. Trefethen, D. Baw. Numerical Linear Algebra, SIAM, 1997.4 J.W. Demmel. Applied Numerical Linear Algebra, SIAM, 1997.5 E. Suli and D. F. Mayers. An Introduction to Numerical Analysis,

Cambridge University Press, 2003.6 C.D.Meyer. Matrix Analysis and Applied Linear Algebra, SIAM, 2001.7 J.H.Mathews, K.D.Fink. Numerical methods Using MATLAB, Prentice

Hall, 2004. http://math.fullerton.edu/mathews/numerical.html

8 A.Quarteroni, F.Saleri and P. Gervasio. Scientific Computing withMATLAB and Octave. Springer, 2010.

9 A.Quarteroni, R.Sacco, F.Saleri. Numerical Mathematics, Springer, 2000.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 5 / 58

Kurso struktura

Ten surprises from numerical linear algebra

www.johndcook.com/blog/2010/01/20/ten-surprises-from-numerical-linear-algebra/Here are ten things about numerical linear algebra that you may find surprising if you’re not familiar with the field.

1 Numerical linear algebra applies very advanced mathematics to solve problems that can be stated with high schoolmathematics.

2 Practical applications often require solving enormous systems of equations, millions or even billions of variables.

3 The heart of Google is an enormous linear algebra problem. PageRank is essentially an eigenvalue problem.

4 The efficiency of solving very large systems of equations has benefited at least as much from advances in algorithms asfrom Moore’s law.

5 Many practical problems — optimization, differential equations, signal processing, etc. — boil down to solving linearsystems, even when the original problems are non-linear. Finite element software, for example, spends nearly all its timesolving linear equations.

6 A system of a million equations can sometimes be solved on an ordinary PC in under a millisecond, depending on thestructure of the equations.

7 Iterative methods, methods that in theory require an infinite number of steps to solve a problem, are often faster and moreaccurate than direct methods, methods that in theory produce an exact answer in a finite number of steps.

8 There are many theorems bounding the error in solutions produced on real computers. That is, the theorems don’t justbound the error from hypothetical calculations carried out in exact arithmetic but bound the error from arithmetic ascarried out in floating point arithmetic on computer hardware.

9 It is hardly ever necessary to compute the inverse of a matrix.

10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this software for manyyears.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 6 / 58

Kurso struktura

p(x) = a4x4 + a3x3 + a2x2 + a1x + a0

q(x) = d5x5 + d4x4 + d3x3 + d2x2 + d1x + d0

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 7 / 58

Kurso struktura

Here are three more examples of problems that can be solved inprinciple by a finite sequence of elementary operations, like rootfindingfor p.(i) Linear equations: solve a system of n linear equations in nunknowns.(ii) Linear programming: minimize a linear function of n variablessubject to m linear constraints.(iii) Traveling salesman problem: find the shortest tour between n cities.And here are five that, like rootfinding for q, cannot generally be solvedin this manner.(iv) Find an eigenvalue of an n× n matrix.(v) Minimize a function of several variables.(vi) Evaluate an integral.(vii) Solve an ordinary differential equation (ODE).(viii) Solve a partial differential equation (PDE).

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 8 / 58

Page 2: Turinys Kurso tikslai Turinys - Pradžiaolgas/TASM/TASM_1p.pdf · olgas/ ... 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this

Istorine apžvalga

Gene Golub / History of Numerical Linear Algebra

Numerical analysis motivated the development of the earliestcomputers.

BallisticsSolution of PDE’sData Analysis

Early pioneers included:J. von NeumannA. M. TuringIn the beginning...von Neumann & Goldstine (1947):“Numerical Inversion of Matrices of High Order”

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 9 / 58

Istorine apžvalga

Top Ten Algorithms in Science (Dongarra and Sullivan, 2000)

1 Metropolis Algorithm (Monte Carlo method) (1946)2 Simplex Method for Linear Programming (1947)3 Krylov Subspace Iteration Methods (1950)4 The Decompositional Approach to Matrix Computations (1951)5 The Fortran Optimizing Compiler (1957)6 QR Algorithm for Computing Eigenvalues (1959-61)7 Quicksort Algorithm for Sorting (1962)8 Fast Fourier Transform (1965)9 Integer Relation Detection Algorithm (1977)

10 Fast Multipole Method (1987)

Red: Algorithms within the exclusive domain of numerical linearalgebra (NLA) research.Blue: Algorithms strongly (though not exclusively) connected toNLA research.

http://www.siam.org/pdf/news/637.pdfTAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 10 / 58

Istorine apžvalga

Stability and Well-Posedness: Algorithm vs. Problem

Fundamentally important to distinguish between the conditioning of theproblem and the stability of the algorithm.

Even if an algorithm is stable, not all problems can be solvedusing it.Making the problem well-posed→ responsibility of modeller.Making the algorithm stable→ responsibility of numerical analyst.A good algorithm is one for which a small change in the input of awell-posed problem causes a small change in the output.

Computational efficiencyTheoretically solving a problem is NOT equivalent that it could besolved with computer because of the computational efficiency! Ingeneral, an O(n4) algorithm is unacceptable!

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 11 / 58

Istorine apžvalga

A Little Bit About Gaussian Elimination

Not off to a good start...:The famous statistician Hotelling derived bounds so pessimistic that herecommended not to use it for large problems.But there’s a happy end:

Goldstine and von Neumann’s analysis of the Cholesky methodfor fixed point arithmetic.Wilkinson’s complete round-off error analysis of GaussianElimination in 1961.

Those developments were turning points for GE and it has becomeone of the most commonly used algorithms.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 12 / 58

TLS sprendimas

Taikymai

Žaliavos Žal. norma, gaminant 1 batu pora Žal. sanaudostipai Batai Basutes Aulinukai 1 dienaiS1 5 3 4 2700S2 2 1 1 900S3 3 2 2 1600

Tegul kasdien gaminama x1 poru batu, x2 poru basuciu ir x3 poruaulinuku.

5x1 + 3x2 + 4x3 = 2700

2x1 + x2 + x3 = 900

3x1 + 2x2 + 2x3 = 1600.

Atsakymas: x1 = 200, x2 = 300, x3 = 200.TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 13 / 58

TLS sprendimas

Tiesine lygciu sistema

a11x1 + a12x2 + · · ·+ a1nxn = b1

a21x1 + a22x2 + · · ·+ a2nxn = b2

· · · · · ·an1x1 + an2x2 + · · ·+ annxn = bn,

Lygciu sistema patogu užrašyti matriciniu pavidalu

Ax = b arba

a11 a12 · · · a1n

a21 a22 · · · a2n

· · · · · · · · · · · ·an1 an2 · · · ann

x1x2· · ·xn

=

b1b2· · ·bn

.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 14 / 58

TLS sprendimas

Matricu atskiri atvejai (žymejimai)

istrižainine matrica

D =

d11 0 0 00 d22 0 00 0 d33 00 0 0 d44

apatine trikampe matrica

L =

a11 0 0 0a21 a22 0 0a31 a32 a33 0a41 a42 a43 a44

vienetine matricaAI = IA = A

I =

1 0 0 00 1 0 00 0 1 00 0 0 1

viršutine trikampematrica

U =

a11 a12 a13 a140 a22 a23 a240 0 a33 a340 0 0 a44

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 15 / 58

TLS sprendimas

Juostines matricos

Juostines matricos – išskyrus juostas prie pagrindines istrižaines visikiti elementai yra nuliniai.

Triistrižaine matrica– trys nenulines istrižaines.

T =

a11 a12 0 0a21 a22 a23 00 a32 a33 a340 0 a43 a44

.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 16 / 58

Page 3: Turinys Kurso tikslai Turinys - Pradžiaolgas/TASM/TASM_1p.pdf · olgas/ ... 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this

Gauso metodas

Tiesiniu lygciu sistemu sprendimas - mažos matricos

Kai lygciu sistemoje nedaug galima lengvai išspresti:Grafinis sprendimas;Kramerio metodas;Kintamuju eliminavimas.GraGraffiinisnis sprendimassprendimas1 2 2 12 3 2 3

pertvarkome 3 3

x x x xx x x x

Vienintelis sprendinys1 2 2 13 3x x x x

x1 + x2 = 3

2x1 – x2 = 3

Vienintelis sprendinys

|A| =∣∣∣∣ 1 1

2 −1

∣∣∣∣ = −3;

GraGraffiinisnis sprendimassprendimasSprendinių nėra A

2 1det 0

2 1

2x1 – x2 = – 1

2x1 – x2 = 3

Sprendiniu nera

|A| =∣∣∣∣ 2 −1

2 −1

∣∣∣∣ = 0;

GraGraffiinisnis sprendimassprendimasBe galo daug sprendinių A

2 1det 0

6 3

6x1 – 3x2 = 92x1 – x2 = 3

Be galo daug sprendiniu

|A| =∣∣∣∣ 2 −1

6 −3

∣∣∣∣ = 0.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 17 / 58

Gauso metodas

Blogai salygotas uždavinysGraGraffiinisnis sprendimassprendimasBlogai sąlygotas uždavinys 2 1

det 0,12,1 1

A

2x1 – x2 = 31 2

2 1 32,1x1 – x2 = 3

det A =

∣∣∣∣ 2 −12, 1 −1

∣∣∣∣ = 0, 1.

Analize{a11x1 + a12x2 = b1a21x1 + a22x2 = b2

{x2 = −a11

a12x1 + b1

a12

x2 = −a21a22

x1 + b2a22

.

Krypciu koeficientai beveik lygus a11a12

≈ a21a22

.Kas atsitinka, kai TLS determinantas yra mažas?

det A =

∣∣∣∣ a11 a12a21 a22

∣∣∣∣ ≈ 0

det A = 0 - tiesiškai priklausoma sistema.Dalyba iš mažo skaiciaus : didele apvalinimo paklaida.Reikšminiu skaitmenu praradimas.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 18 / 58

Gauso metodas

Grafinis sprendimas: 3 lygtys

3x− 2y− z = −3−2x + 3y− z = 2x + y− z = 5.

MATLAB:» xx=-10:1:10; yy=-10:1:10; [x,y]=meshgrid(xx,yy);» z1=3*x-2*y+3; z2=-2*x+3*y-2; z3=x+y-5;» surf(x,y,z1); hold on; surf(x,y,z2); surf(x,y,z3);

GraGraffiinisnis sprendimassprendimas: : 3 lygtys3 lygtys» xx=-10:1:10; yy=-10:1:10; [x,y]=meshgrid(xx,yy);» z1=3*x-2*y+3; z2=-2*x+3*y-2; z3=x+y-5;

f( 1) h ld f( 2) f( 3)» surf(x,y,z1); hold on; surf(x,y,z2); surf(x,y,z3);

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 19 / 58

Gauso metodas

Tiesiniu lygciu sistemu (TLS) sprendimas

Sistemos Ax = b vienintelis sprendinys egzistuoja, jei det A 6= 0.Kramerio taisykle:

xi =det Ai

det A.

Pavyzdys: kompiuteriui, atliekanciam109 operaciju/sec. (t.y. 1 gigaflops), reikalinga:

n = 15 12 valandu,n = 20 3240 metu,n = 100 10143 metai,

1010 operaciju/sec.,reikalinga:

n = 10 10−5 sec.,n = 20 1 3

4 min.,n = 30 4 · 104 metai,

skaiciuojant determinantus pagal apibrežima (arba skleidžiant eilute).

AlternatyvaTiesioginiai sprendimo metodai;Iteraciniai metodai.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 20 / 58

Gauso metodas

Tiesiniu lygciu sistemu (TLS) sprendimas

TLS Ax = b sprendimo metodu apžvalga

Tiesioginiai metodai

(< 104 nežinomuju)Tikslus sprendinysgaunamas per baigtinižingsniu skaiciu.

Gauso;Skaidos;Choleckio;Perkelties.

Iteraciniai metodai

(< 107 nežinomuju)Randamas apytikslissprendinys bet kokiu norimutikslumu.

Jakobio;Zeidelio;Relaksacijos;Mišrusis;

Variaciniai metodai(> 107 nežinomuju).

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 21 / 58

Gauso metodas

Tiesiniu lygciu sistemu (TLS) sprendimas

TLS Ax = b sprendimo metodu apžvalgaPasirinkimas tarp tiesioginiu ir iteraciniu metodu gali priklausyti nuokeliu faktoriu:

teorinis metodo efektyvumas,matricos tipas,atminties laikymo reikalavimai,kompiuteriu architektura.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 22 / 58

Gauso metodas

TLS Ax = b tiesioginiai sprendimo metodai

(< 104 nežinomuju)Tikslus sprendinys gaunamas per baigtini žingsniu skaiciu.

Tiesioginiai metodai

Gauso metodas.Skaidos metodai Axi = bi, i = 1, . . . ,m.

Choleckio metodas - taikomas, kai matrica A simetrine ir teigiamaiapibrežta.

Perkelties algoritmas - sprendžia TLS su triistrižaine matrica.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 23 / 58

Gauso metodas

Gauso metodas

Nuoseklus nežinomuju šalinimas;Sistemos matricos pertvarkymas i viršutine trikampe matrica

A =

a11 a12 · · · a1n

a21 a22 · · · a2n

· · · · · · · · · · · ·an1 an2 · · · ann

→ U =

a11 a12 · · · a1n

0 a22 · · · a2n

· · · · · · · · · · · ·0 0 · · · ann

.

Sprendinys randamas iš pertvarkytosios sistemos.

Pirmoji lygtis yra pagrindine lygtis,a11 yra pagrindinis elementas (iš jo dalijama visa lygtis) ir t.t. (aii)Paprastas Gauso metodas: aii 6= 0.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 24 / 58

Page 4: Turinys Kurso tikslai Turinys - Pradžiaolgas/TASM/TASM_1p.pdf · olgas/ ... 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this

Gauso metodas

Gauso metodo esme

Tiesioginis metodas (nera iteraciju).

Tiesiogine eiga:1 Elementu po pagrindine istrižaine nuoseklus šalinimas

stulpeliuose;2 Suvedimas i viršutine trikampe matrica.

Atbuline eiga:

Gaunamas sprendinys x = (x1, x2, · · · , xn).

Ekvivalentieji pertvarkiai:

Lygtis dauginama iš skaiciaus, nelygaus nuliui;Dvi lygtys keiciamos vietomis;Lygtis, padauginta iš skaiciaus, pridedama prie kitos lygties.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 25 / 58

Gauso metodas

Gauso metodo algoritmas

1 Tiesiogine eigaSu visais j : j = 1, . . . , n− 1su visais k : k = j + 1, . . . , n

j-aji lygtis dauginama iš akj/ajj

ir atimama iš k-osios lygtiesGauname viršutine trikampe matrica.

2 Atbuline eiga

1) apskaiciuojame xn:

xn = b(n−1)n /a(n−1)

nn

2) istatome xn i (n− 1)-aji lygti ir randame xn−1;3) analogiškai kartojame 2) ir apskaiciuojame

xn−2, xn−3, . . . x1.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 26 / 58

Gauso metodas

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 27 / 58

Gauso metodas

Gauso metodas - analize (Ax = b)

Jei a11 6= 0 ir li1 := ai1a11

,

G1 =

0

l21 0...

. . .ln1 0

, L1 := I−G1 :=

0−l21 0

.... . .

−ln1 0

Akivaizdu, kad po pirmojo kintamojo eliminavimo:

A(1) = L1A =

a11 a12 . . . a1n

0 a122 . . . a1

2n...

.... . .

...0 a1

n2 . . . a1nn

, b(1) = L1b.

Ekvivalenti sistemaA(1)x = b(1)

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 28 / 58

Gauso metodas

Analogiškai po antro GM žingsnio A(2)x = b(2), cia A(2) = L2A(1),b2 = L2b(1),

A(2) =

a11 a12 a13 . . . a1n

0 a122 a1

23 . . . a12n

0 0 a233 . . . a2

3n. . . . . . . . . . . . . . .0 0 a2

n3 . . . a2nn

, L2 =

1 0 0 . . . 00 1 0 . . . 00 −l32 1 . . . 0. . . . . . . . . . . . . . .0 −ln2 0 . . . 1

,

b(2) ={

b1, b12, b2

3, . . . , b2n}>

.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 29 / 58

Gauso metodas

Gauso metodas - analize ( Ax = b)

Jei ak−1kk 6= 0 ir lik :=

ak−1ik

ak−1kk

,

Gk =

0. . .

0lk+1,k 0

.... . .

lnk 0

, Lk =

1. . .

1−lk+1,k 1

.... . .

−lnk 1

Po kojo kintamojo eliminavimo:

A(k) = Lk · A(k−1) =

a11 a12 a13 . . . a1n. . .

...a(k−1)

kk . . . a(k−1)kn

0 a(k)k+1,k+1 . . . a(k)

k+1,n...

.... . .

...0 a(k)

n,k+1 . . . a(k)n,n

,

Ekvivalenti sistemaA(k)x = b(k)

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 30 / 58

Gauso metodas

Po n− 1 žingsnio gausime A(n−1)x = b(n−1),A(n−1) = Ln−1 · A(n−2),b(n−1) = Ln−1b(n−2),

A(n−1)=

a11 a12 a13 . . . a1n0 a1

22 a123 . . . a1

2n0 0 a2

33 . . . a23n

. . . . . . . . . . . . . . .

0 0 0 . . . a(n−1)nn

, Ln−1 =

1 0 . . . 0 00 1 . . . 0 0

. . . . . . . . . . . . . . .0 0 . . . 1 00 0 . . . −ln,n − 1 1

,

b(n−1) = {b1, b12, b2

3, . . . , bn−1n }>. Gauname

Ux = d⇔

u11 u12 · · · u1n

0 u22 · · · u2n...

......

...0 0 · · · unn

x1x2...

xn

=

d1d2...

dn

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 31 / 58

Gauso metodas

Pavyzdys - Gauso metodas

Pažymekime lkj =akjajj

.1 0 2 3−1 2 2 −3

0 1 1 46 2 2 4

∣∣∣∣∣∣∣∣1−1

21

l21 = −1l31 = 0l41 = 6

1 0 2 30 2 4 00 1 1 40 2 −10 −14

∣∣∣∣∣∣∣∣102−5

(2 lygtis)− l21(1 lygtis)(3 lygtis)− l31(1 lygtis)(4 lygtis)− l41(1 lygtis)

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 32 / 58

Page 5: Turinys Kurso tikslai Turinys - Pradžiaolgas/TASM/TASM_1p.pdf · olgas/ ... 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this

Gauso metodas

Pavyzdys - kintamuju šalinimas

1 0 2 3

0 2 4 00 1 1 40 2 −10 −14

∣∣∣∣∣∣∣∣102−5

l32 = 1/2l42 = 1

1 0 2 30 2 4 00 0 −1 40 0 −14 −14

∣∣∣∣∣∣∣∣102−5

(3 lygtis)− l32(2 lygtis)(4 lygtis)− l42(2 lygtis)

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 33 / 58

Gauso metodas

Pavyzdys - kintamuju šalinimas ir atbuline eiga

1 0 2 3

0 2 4 00 0 −1 40 0 −14 −14

∣∣∣∣∣∣∣∣102−5

l43 = 14

1 0 2 30 2 4 00 0 −1 40 0 0 −70

∣∣∣∣∣∣∣∣102

−33

(4 lygtis)− l43(3 lygtis)

x4 =−33−70

=3370

, x3 =4x4 − 2 = − 435

,

x2 = −2x3 =835

, x1 =1− 2x3 − 3x4 = −1370

.

Sprendinys

X =

33/70−4/35

8/35−13/70

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 34 / 58

Gauso metodas

Gauso metodo skaiciavimo apimtis

Svarbi, kai matricos yra dideles.Computational work estimate: one floating-point operation (flop) is onemultiplication (or division) and possibly addition (or subtraction) as iny = a× x + b, where a, x, b and y are computer representations of realscalars.

Tiesiogine eiga O(23 n3) aritmetiniu veiksmu;

Atbuline eiga O(12 n2) aritmetiniu veiksmu.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 35 / 58

Gauso metodas

Gauso metodo skaiciavimo apimtis

Išorinis ciklas Vidinis ciklas +/− ∗/÷j k veiksmai veiksmai1 2, n (n− 1)n (n− 1)(n + 1)2 3, n (n− 2)(n− 1) (n− 2)n...

......

...j j + 1, n (n− j)(n− j + 1) (n− j)(n− j + 2)...

......

...n− 1 n, n 1 · 2 1 · 3

Tiesiogines eigos bendroji skaiciavimo apimtis = 2n3/3 + O(n2)aritmetiniu operaciju.Atbulines eigos bendroji skaiciavimo apimtis = n2 + O(n)aritmetiniu operaciju.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 36 / 58

Gauso metodas

Skaiciavimo operaciju apimtis

Slankaus kablelio operaciju skaicius Gauso metodui

n Ties. Atbul. Bendras 2n3

3 %eiga eiga veiksmu sk. Ties. eiga

10 705 100 805 667 87, 58%100 671550 104 681550 666667 98, 53%

1000 6, 67 · 108 106 6, 68 · 108 6, 68 · 108 99, 85%

Augant n sparciai dideja skaiciavimo laikas.Daugiausiai veiksmu reikalauja tiesiogine eiga.Metodo efektyvumas labiausiai priklauso nuo tiesiogines eigos.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 37 / 58

Gauso metodas

Apvalinimo paklaidos

Didele dalis skaiciavimu su 13 n3 operaciju.

Svarbu – paklaida dideja.Didelems sistemoms (virš 100 lygciu), apvalinimo paklaida galibuti pakankamai didele.Blogai salygoti uždaviniai – maži koeficientu pokyciai lemiadidelius sprendiniu pokycius.Apvalinimo paklaidu analize ypac svarbi blogai salygotiemsuždaviniams.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 38 / 58

Gauso metodas

Determinantas

Skaiciuojamas naudojant Gauso metoda:

A =

a11 a12 a13 · · · a1n

a21 a22 a23 · · · a2n

a31 a32 a33 · · · a3n

· · · · · · · · · · · · · · ·an1 an2 an3 · · · ann

→ U =

a11 a12 a13 · · · a1n

0 a22 a23 · · · a2n

0 0 a33 · · · a3n

· · · · · · · · · · · · · · ·0 0 0 · · · ann

.

det A = det U = a11a22 · · · ann.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 39 / 58

Gauso metodas

Pagrindinio elemento parinkimas

Gauso metodo galimi sunkumai

Dalyba iš nulio.Apvalinimo paklaidos.Blogai salygoti uždaviniai.

Pagrindinio elemento parinkimas nereikalingas, jei

Išpildyta pagrindines istrižaines vyravimo salyga

|aii| >n∑

j=1,j 6=i

|aji|, i = 1, . . . , n.

Matrica A yra simetrine ir teigiamai apibrežta

AT = A, ∀x 6= 0 (Ax, x) = xTAx > 0.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 40 / 58

Page 6: Turinys Kurso tikslai Turinys - Pradžiaolgas/TASM/TASM_1p.pdf · olgas/ ... 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this

Gauso metodas

Pagrindinio elemento parinkimo budai

Pagrindinio elemento parinkimas1 iš stulpelio elementu:

Pagrindinis elementas parenkamas iš stulpelio elementu. Šios dvilygtis sukeiciamos vietomis.

2 iš eilutes elementu:Pagrindinis elementas parenkamas iš pertvarkomos eiluteselementu. Sukeiciamos vietomis matricos A stulpeliai irisimenama naujoji nežinomuju tvarka.

3 pagal lygties koeficientu moduliu suma:Kiekvienoje lygtyje randamas didžiausiai koeficientas, iš jopadalijama atitinkama lygtis. Lygtys sukeiciamos vietomis,pernumeruojami nežinomieji.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 41 / 58

Gauso metodas

Pagrindinio elemento parinkimas iš stulpelio elementu

Pertvarkant k-aja eilute, randama kita lygtis, kurioje koeficientas prie xk

yra didžiausias;pažymekime šios lygties numeri m;šiuo atveju pagrindinis elementas yra

|amk| = maxk6i6n

|aik|.

Šios dvi lygtys sukeiciamos vietomis, ir m-osios lygties koeficientasprie xk tampa pagrindiniu elementu – iš jo dalijami eilutes elementai.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 42 / 58

Gauso metodas

Pagrindinio elemento parinkimas iš stulpelio elementu - pavyzdys I

x1 +2x3 + 3x4 = 1−x1 +2x2 +2x3 − 3x4 = −1

x2 +x3 + 4x4 = 26x1 +2x2 +2x3 + 4x4 = 1.

1 0 2 3−1 2 2 −3

0 1 1 46 2 2 4

∣∣∣∣∣∣∣∣1−1

21

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 43 / 58

Gauso metodas

Pagrindinio elemento parinkimas iš stulpelio elementu - pavyzdys II

Keiciamos 1 ir 4 eilutes6 2 2 4−1 2 2 −3

0 1 1 41 0 2 3

∣∣∣∣∣∣∣∣1−1

21

f21 = −1/6f31 = 0f41 = 1/6

6 2 2 4

0 7/3 7/3 −7/30 1 1 40 −1/3 5/3 7/3

∣∣∣∣∣∣∣∣∣1

−5/62

5/6

(2 lygtis)− (1 lygtis) · f21(3 lygtis)− (1 lygtis) · f31(4 lygtis)− (1 lygtis) · f41

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 44 / 58

Gauso metodas

Pagrindinio elemento parinkimas iš stulpelio elementu - pavyzdys III

6 2 2 40 7/3 7/3 −7/30 1 1 40 −1/3 5/3 7/3

∣∣∣∣∣∣∣∣∣1

−5/62

5/6

keitimu nera

f32 = 3/7f42 = 1/7

6 2 2 40 7/3 7/3 −7/30 0 0 50 0 2 2

∣∣∣∣∣∣∣∣1

−5/633/14

5/7

(3 lygtis)− (2 lygtis) · f32(4 lygtis)− (2 lygtis) · f42

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 45 / 58

Gauso metodas

Pagrindinio elemento parinkimas iš stulpelio elementu - pavyzdys IV

6 2 2 4

0 7/3 7/3 −7/30 0 2 20 0 0 5

∣∣∣∣∣∣∣∣1

−5/65/7

33/14

keiciamos 3 ir 4 eilutesf43 = 0

x4 =3370

, x3 = (57− 2x4)

12

= − 435

,

x2 = (−56

+73

x4 −73

x3)37

=8

35,

x1 = (1− 4x4 − 2x3 − 2x2)16

= −1370

.

Sprendinys

X =

− 13

70835− 4

353370

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 46 / 58

Gauso metodas

Pagrindinio elemento parinkimas iš eilutes elementu

Pertvarkant k-aja eilute, didžiausias jos koeficientas (pažymekime jonumeri m) yra

|akm| = maxk6j6n

|akj|.

Radus pagrindini elementa, pernumeruojami abu nežinomieji xk ir xm;isimenama naujoji nežinomuju tvarka.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 47 / 58

Gauso metodas

Pagrindinio elemento parinkimas pagal lygties koeficientu moduliu suma

1 Kiekvienoje lygtyje randamas didžiausiai koeficientas ir iš jopadalijama atitinkama lygtis:

|aimi | = maxk6j6n

|aij|, k 6 i 6 j, a′ij =

aij

aimi

, k 6 i, j 6 n.

2 Lygtys sukeiciamos vietomis taip, kad k-aja lygtimi taptu ta(pažymekime jos numeri m), kurios koeficientu moduliu suma yramažiausia:

mink6i6n

n∑j=k

|a′ij| =n∑

j=k

|a′mj|.

3 Nežinomieji pernumeruojami taip, kad nežinomasis sudidžiausiuoju koeficientu butu xk.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 48 / 58

Page 7: Turinys Kurso tikslai Turinys - Pradžiaolgas/TASM/TASM_1p.pdf · olgas/ ... 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this

Gauso metodas

Pavyzdys (R. Ciegio, V. Budos vadov. 68 p. )

1 Kiekviena lygtis dalijama iš atitinkamo didžiausiojo koeficiento:Σ|aij| 100 100 10, 2 20 1

0, 05 0, 2 0, 5

∣∣∣∣∣∣∣101

⇒ 1 1 0, 01

0, 01 1 0, 050, 1 0, 4 1

∣∣∣∣∣∣0, 01

02

2, 011.06

1.5

2 Antra lygtis (mažiaus. koef. moduliu suma) sukeiciama su pirmajavietomis: x1 x2 x3 0, 01 1 0, 05

1 1 0, 010, 1 0, 4 1

∣∣∣∣∣∣0

0, 012

1 - pagrindinis elementas.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 49 / 58

Gauso metodas

3 Pernumeruojami nežinomieji ir atliekamas Gauso metodotiesiogines eigos žingsnis:

x2 x1 x3 x2 x1 x3

1 0, 01 0, 051 1 0, 01

0, 4 0, 1 1

∣∣∣∣∣∣0

0, 012

1 0, 01 0, 050 0, 99 −0, 040 0, 096 0, 98

∣∣∣∣∣∣∣0

0, 012

4 Analogiškai nustatomas kitas pagrinsinis elementas:

x2 x1 x3 Σ|aij| 1 0, 01 0, 050 1 −0, 04040 0, 98 1

∣∣∣∣∣∣0

0, 01012, 0408

1, 04041, 098

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 50 / 58

Gauso metodas

5

x2 x1 x3 x2 x1 x3 1 0, 01 0, 050 1 −0, 04040 0 1, 0040

∣∣∣∣∣∣0

0, 01012.0398

⇒ 1 0, 01 0, 05

0 1 −0, 04040 0 1

∣∣∣∣∣∣0

0, 01012.0317

⇒ x ≈

0, 092−0, 103

2, 032

Tikslumas 0,001.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 51 / 58

Triistrižaines sistemos

Triistrižaines sistemos

Triistrižaine matrica– trys nenulines istrižaines.Juostiniu matricu atskiras atvejisSaugojama 3× n elementu vietoje n× n.

b1 c1a2 b2 c2

. . . . . . . . .ai bi ci

. . . . . . . . .an−1 bn−1 cn−1

an bn

x1x2...xi...

xn−1xn

=

d1d2...di...

dn−1dn

.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 52 / 58

Triistrižaines sistemos

Perkelties metodasPerkelties metodasPerkelties metodas1 1 1 2 1

2 1 2 2 2 3 2

b x c x da x b x c x d

1 1i i i i i i ia x b x c x d

dd

1 2 1 1 1 1

1

n n n n n n n

n n n n n

a x b x c x da x b x d

1 11 1

1 1

2 2 2 1

1 11 2

1 1

2 2 2 1

; , ;

;

c dC D

b bc d a D

C D

c dx x

b bc d a D

x x

pažymėkime

2 22 1 2 2

2 32 1 2 2 1 2

1

1 2

; ,

, 2, 3, , 1;kk

k k k

C Dx xa C b a C b

cC k n

a C b

a C b a C b

1

1

1 , 2, 3, , .

k k k

k k kk

k k k

a C bd a D

D k na C b

1

,, 1, , 2,1.

n n

k k k k

x Dx C x D k n

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 53 / 58

Triistrižaines sistemos

Perkelties metodo algoritmas

Thomas algorithm, tridiagonal matrix algorithm (angl.)

1 Tiesiogine eiga

C1 = − c1

b1, D1 =

d1

b1;

Ck = − ck

akCk−1 + bk, k = 2, 3 . . . , n− 1;

Dk =dk − akDk−1

akCk−1 + bk, k = 2, 3 . . . , n.

2 Atbuline eiga

xn = Dn;

xk = Ckxk+1 + Dk, k = n− 1, n− 2 . . . , 1.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 54 / 58

Triistrižaines sistemos

Perkelties metodo pakankama konvergavimo salyga

Pagrindines istrižaines vyravimo salygaJei

1

|bi| > |ai|+ |ci|, i = 1, · · · , n

2 ir bent su vienu i galioja griežta nelygybe,tai dalyba iš nulio ar labai mažo skaiciaus perkelties metodo eigojenegalima.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 55 / 58

Triistrižaines sistemos

Pavyzdys

Perkelties metodu išspresime sistema2x1 −x2 = 1−x1 +2x2 −x3 = 0

−x2 +2x3 = 1.

Sprendimas:

1 Tiesiogine eiga C1 = −−12 = 1

2 , D1 = 12 ;

C2 = − −1− 1

2 + 2=

23, D2 =

0 + 12

32

=13

;

D3 =1 + 1

3

−23 + 2

= 1.

2 Atbuline eiga x3 = 1, x2 = C2x3 + D2 = 1, x1 = C1x2 + D1 = 1.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 56 / 58

Page 8: Turinys Kurso tikslai Turinys - Pradžiaolgas/TASM/TASM_1p.pdf · olgas/ ... 10 There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this

Triistrižaines sistemos

Perkelties metodo skaiciavimo apimtis

C1 = − c1

b1, D1 =

d1

b1;

Ck = − ck

akCk−1 + bk, k = 2, 3 . . . , n− 1;

Dk =dk − akDk−1

akCk−1 + bk, k = 2, 3 . . . , n.

Tiesiogine eiga

Daugybu / Dalybu:2+4(n−2)+3 = 4n−3;Sudeciu / Atimciu2(n− 2) + 2 = 2n− 2.

xn = Dn;

xk = Ckxk+1 + Dk, k = n− 1, n− 2 . . . , 1.

Atbuline eigaDaugybu n− 1;Sudeciu n− 1

Pirmojo etapo bendroji skaiciavimoapimtis = 6n− 5.Antrojo etapo bendroji skaiciavimoapimtis = 2n− 2.

Iš visoproporcinga 8n,kai n� 1.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 57 / 58

Triistrižaines sistemos

Perkelties metodas: Skaiciavimo apimtis

Gauso metodas:O(2

3 n3) aritmetiniu operaciju;Perkelties metodas:O(8n) aritmetiniu operaciju.

Perkelties metodas 112 n2 kartu greiciau nei Gauso metodas sprendžia

triistrižaines lygciu sistemos.

TAL skaitiniai metodai (MIF VU) Tiesiniu lygciu sistemu sprendimas 58 / 58