6
Skaitiniai metodai Matematinis modeliavimas Kompiuteriu ˛ aritmetika ir algoritmai Olga Štikonien ˙ e Diferencialiniu˛ lygˇ ciu˛ ir skaiˇ ciavimo matematikos katedra, MIF VU 2014-02-04 Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 1 / 44 Kurso strukt¯ ura Skaitiniai metodai Skaitiniai metodai randa matematiniu ˛ uždaviniu ˛, užrašytu˛ algebrin˙ emis formul ˙ emis (kurias vykdo kompiuteris), sprendinius. Mes išmoksime suformuluoti sprendimo metod ˛ a; i ˛vertinti metodo tinkamum ˛ a, jo privalumus ir tr¯ ukumus. Simulation techniques aim at: Solving the right equations! Solving the equations right! Solving the equations fast! Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 2 / 44 Kurso strukt¯ ura Kurso tikslai 1 I ˛gyti galimyb ˛ e skaitiškai spr ˛ esti taikomuosius uždavinius; 2 I ˛vertinti skirtingus skaitinius sprendimo metodus (žinant ju ˛ privalumus ir tr¯ ukumus); 3 Rašyti, taikyti ir testuoti kompiuterines programas. Sandas: Supažindinama su skaitiniais metodais sprendžiant i ˛vairaus tipo 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. Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 3 / 44 Kurso strukt¯ ura Turinys: 1 Kompiuteriu ˛ aritmetika ir algoritmai. 2 Tiesiniu ˛ lygˇ ciu ˛ sistemu ˛ sprendimo metodai: tiesioginiai metodai; iteraciniai metodai; variaciniai metodai. 3 Duomenu ˛ aproksimacija: Funkciju ˛ interpoliavimas; Interpoliavimas splainais; Mažiausiu ˛ kvadratu ˛ metodas. 4 Tikriniu˛reikšmiu˛uždavinys. 5 Netiesiniu˛ lygˇ ciu˛sprendimas. 6 Funkciju˛ optimizavimo metodai. 7 Skaitinis integravimas: paklaidos i ˛vertinimo b ¯ udai; adaptyvieji metodai. 8 Diferencialiniu˛ lygˇ ciu˛ skaitiniai sprendimo metodai. Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 4 / 44 Kurso strukt¯ ura Kurso strukt¯ ura: Paskaitos Kompiuterin ˙ es pratybos www.mif.vu.lt/~olgas Skaitiniai metodai Pažymys = AD+Egz 10 = 5 + 5 Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 5 / 44 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 K. Plukas. Skaitiniai metodai ir algoritmai, Kaunas: N. lankas, 2001. 4 V.B ¯ uda, M.Sapagovas. Skaitiniai metodai. Algoritmai, uždaviniai, projektai. Vilnius: Technika 1998. 5 A.Quarteroni, F.Saleri and P. Gervasio. Scientific Computing with MATLAB and Octave. Springer, 2010. 6 J.H.Mathews, K.D.Fink. Numerical methods Using MATLAB, Prentice Hall, 2004. http://math.fullerton.edu/mathews/numerical.html 7 U.M.Ascher, C.Greif. A First Course on Numerical Methods, SIAM, 2011. http://books.google.lt/books/about/A_First_Course_on_Numerical_Methods.html ?id=gJjh6QcBrlEC& redir_esc=y 8 R. ˇ Ciegis. Diferencialiniu˛lygˇ ciu˛ skaitiniai sprendimo metodai. Vilnius: Technika, 2003. 9 A.Quarteroni, R.Sacco, F.Saleri. Numerical Mathematics, Springer, 2000. 10 W.H.Press, S.A.Teukolsky, W.T.Vetterling, B.P.Flannery. Numerical Recipes in C. The Art of Scientific Computing. Second Edition Cambridge University Press. Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 6 / 44 Kurso strukt¯ ura Tikslus ar apytikslis sprendinys? 4-osios eil ˙ es daugianaris p(x)= a 4 x 4 + a 3 x 3 + a 2 x 2 + a 1 x + a 0 5-osios eil ˙ es daugianaris q(x)= d 5 x 5 + d 4 x 4 + d 3 x 3 + d 2 x 2 + d 1 x + d 0 Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 7 / 44 Kurso strukt¯ ura p(x)= a 4 x 4 + a 3 x 3 + a 2 x 2 + a 1 x + a 0 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. q(x)= d 5 x 5 + d 4 x 4 + d 3 x 3 + d 2 x 2 + d 1 x + d 0 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). Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 8 / 44

Skaitiniai metodai Kurso tikslai Turinys: Kurso struktura ...olgas/SM/1P_SM8.pdf · 1946 Splines Schoenberg, de Casteljau, Bezier, de Boor 1947 Monte Carlo simulation Ulam, von Neumann,

Embed Size (px)

Citation preview

Page 1: Skaitiniai metodai Kurso tikslai Turinys: Kurso struktura ...olgas/SM/1P_SM8.pdf · 1946 Splines Schoenberg, de Casteljau, Bezier, de Boor 1947 Monte Carlo simulation Ulam, von Neumann,

Skaitiniai metodaiMatematinis modeliavimas

Kompiuteriu aritmetika ir algoritmai

Olga Štikoniene

Diferencialiniu lygciu ir skaiciavimo matematikos katedra, MIF VU

2014-02-04

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 1 / 44

Kurso struktura

Skaitiniai metodai

Skaitiniai metodai randa matematiniu uždaviniu, užrašytu algebrinemisformulemis (kurias vykdo kompiuteris), sprendinius.Mes išmoksime

suformuluoti sprendimo metoda;ivertinti metodo tinkamuma, jo privalumus ir trukumus.

Simulation techniques aim at:Solving the right equations!Solving the equations right!Solving the equations fast!

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 2 / 44

Kurso struktura

Kurso tikslai

1 Igyti galimybe skaitiškai spresti taikomuosius uždavinius;2 Ivertinti skirtingus skaitinius sprendimo metodus (žinant ju

privalumus ir trukumus);3 Rašyti, taikyti ir testuoti kompiuterines programas.

Sandas:Supažindinama su skaitiniais metodais sprendžiant ivairaus tipouž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.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 3 / 44

Kurso struktura

Turinys:

1 Kompiuteriu aritmetika ir algoritmai.2 Tiesiniu lygciu sistemu sprendimo metodai:

tiesioginiai metodai;iteraciniai metodai;variaciniai metodai.

3 Duomenu aproksimacija:Funkciju interpoliavimas;Interpoliavimas splainais;Mažiausiu kvadratu metodas.

4 Tikriniu reikšmiu uždavinys.5 Netiesiniu lygciu sprendimas.6 Funkciju optimizavimo metodai.7 Skaitinis integravimas:

paklaidos ivertinimo budai;adaptyvieji metodai.

8 Diferencialiniu lygciu skaitiniai sprendimo metodai.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 4 / 44

Kurso struktura

Kurso struktura:

PaskaitosKompiuterines pratyboswww.mif.vu.lt/~olgas Skaitiniai metodaiPažymys = AD+Egz

10 = 5 + 5

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 5 / 44

Kurso struktura

Literatura

1 V.Buda, R.Ciegis. Skaiciuojamoji matematika, Vilnius: TEV , 1997.2 B.Kvedaras, M.Sapagovas. Skaiciavimo metodai, V.: Mintis, 1974.3 K. Plukas. Skaitiniai metodai ir algoritmai, Kaunas: N. lankas, 2001.4 V.Buda, M.Sapagovas. Skaitiniai metodai. Algoritmai, uždaviniai,

projektai. Vilnius: Technika 1998.5 A.Quarteroni, F.Saleri and P. Gervasio. Scientific Computing with

MATLAB and Octave. Springer, 2010.6 J.H.Mathews, K.D.Fink. Numerical methods Using MATLAB, Prentice

Hall, 2004. http://math.fullerton.edu/mathews/numerical.html7 U.M.Ascher, C.Greif. A First Course on Numerical Methods, SIAM,

2011. http://books.google.lt/books/about/A_First_Course_on_Numerical_Methods.html?id=gJjh6QcBrlEC& redir_esc=y

8 R.Ciegis. Diferencialiniu lygciu skaitiniai sprendimo metodai. Vilnius:Technika, 2003.

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

10 W.H.Press, S.A.Teukolsky, W.T.Vetterling, B.P.Flannery. Numerical Recipes in C. The Art of

Scientific Computing. Second Edition Cambridge University Press.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 6 / 44

Kurso struktura

Tikslus ar apytikslis sprendinys?

4-osios eiles daugianaris

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

5-osios eiles daugianaris

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

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 7 / 44

Kurso struktura

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

Here are three more examples of problems that can be solved in principle bya 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 mlinear constraints.(iii) Traveling salesman problem: find the shortest tour between n cities.

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

And here are five that, like rootfinding for q, cannot generally be solved in thismanner.(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).

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 8 / 44

Page 2: Skaitiniai metodai Kurso tikslai Turinys: Kurso struktura ...olgas/SM/1P_SM8.pdf · 1946 Splines Schoenberg, de Casteljau, Bezier, de Boor 1947 Monte Carlo simulation Ulam, von Neumann,

Kurso struktura

Istorine apžvalga (iš The Princeton Companion to Mathematics)

IV.22. Set Theory 615

Table 1 Some algorithmic developments in the history of numerical analysis.

Year Development Key early figures

263 Gaussian elimination Liu, Lagrange, Gauss, Jacobi1671 Newton’s method Newton, Raphson, Simpson1795 Least-squares fitting Gauss, Legendre1814 Gauss quadrature Gauss, Jacobi, Christoffel, Stieltjes1855 Adams ODE formulas Euler, Adams, Bashforth1895 Runge–Kutta ODE formulas Runge, Heun, Kutta1910 Finite differences for PDE Richardson, Southwell, Courant, von Neumann, Lax1936 Floating-point arithmetic Torres y Quevedo, Zuse, Turing1943 Finite elements for PDE Courant, Feng, Argyris, Clough1946 Splines Schoenberg, de Casteljau, Bezier, de Boor1947 Monte Carlo simulation Ulam, von Neumann, Metropolis1947 Simplex algorithm Kantorovich, Dantzig1952 Lanczos and conjugate gradient iterations Lanczos, Hestenes, Stiefel1952 Stiff ODE solvers Curtiss, Hirschfelder, Dahlquist, Gear1954 Fortran Backus1958 Orthogonal linear algebra Aitken, Givens, Householder, Wilkinson, Golub1959 Quasi-Newton iterations Davidon, Fletcher, Powell, Broyden1961 QR algorithm for eigenvalues Rutishauser, Kublanovskaya, Francis, Wilkinson1965 Fast Fourier transform Gauss, Cooley, Tukey, Sande1971 Spectral methods for PDE Chebyshev, Lanczos, Clenshaw, Orszag, Gottlieb1971 Radial basis functions Hardy, Askey, Duchon, Micchelli1973 Multigrid iterations Fedorenko, Bakhvalov, Brandt, Hackbusch1976 EISPACK, LINPACK, LAPACK Moler, Stewart, Smith, Dongarra, Demmel, Bai1976 Nonsymmetric Krylov iterations Vinsome, Saad, van der Vorst, Sorensen1977 Preconditioned matrix iterations van der Vorst, Meijerink1977 MATLAB Moler1977 IEEE arithmetic Kahan1982 Wavelets Morlet, Grossmann, Meyer, Daubechies1984 Interior methods in optimization Fiacco, McCormick, Karmarkar, Megiddo1987 Fast multipole method Rokhlin, Greengard1991 Automatic differentiation Iri, Bischof, Carle, Griewank

than half of the authors of the EISPACK, LINPACK, andLAPACK libraries. Even the dates can be questioned; thefast Fourier transform is listed as 1965, for example,since that is the year of the paper that brought it tothe world’s attention, though Gauss made the same dis-covery 160 years earlier. Nor should one imagine thatthe years from 1991 to the present have been a blank!No doubt in the future we shall identify developmentsfrom this period that deserve a place in the table.

Further Reading

Ciarlet, P. G. 1978. The Finite Element Method for EllipticProblems. Amsterdam: North-Holland.

Golub, G. H., and C. F. Van Loan. 1996. Matrix Computations,3rd edn. Baltimore, MD: Johns Hopkins University Press.

Hairer, E., S. P. Nørsett (for volume I), and G. Wanner. 1993,1996. Solving Ordinary Differential Equations, volumes Iand II. New York: Springer.

Iserles, A., ed. 1992–. Acta Numerica (annual volumes).Cambridge: Cambridge University Press.

Nocedal, J., and S. J. Wright. 1999. Numerical Optimization.New York: Springer.

Powell, M. J. D. 1981. Approximation Theory and Methods.Cambridge: Cambridge University Press.

Richtmyer, R. D., and K. W. Morton. 1967. Difference Meth-ods for Initial-Value Problems. New York: Wiley Inter-science.

IV.22 Set TheoryJoan Bagaria

1 Introduction

Among all mathematical disciplines, set theory occu-pies a special place because it plays two very differentroles at the same time: on the one hand, it is an area of

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 9 / 44

Matematinis modeliavimas

Matematinis modeliavimas

Matematinis modeliavimasTaikomosios matematikos dalis, skirta ivairiu sriciu (fizikiniu, biologiniu,cheminiu, ekonominiu ir t.t.) uždaviniu sprendimui naudojant virtualiojoeksperimento metodika.

Uždavinio sprendimo irankiai:analiziniai sprendiniai,artutiniai metodai,skaitiniai metodai,statistiniai metodai,grafikai, ir t. t.

Taikoma moksliniu tyrimu programine iranga.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 10 / 44

Matematinis modeliavimas

Dažniausiai taikoma moksliniu tyrimu programine iranga

Maple http://www.maplesoft.com/Mathematica, Wolfram Alpha www.wolfram.com/products/mathematica,http://www.wolframalpha.com Simboliniai skaiciavimai. Gera grafika. Matematiniaiskaiciavimai. Labai gerai tinka bakalauro studijoms.Sage http://www.sagemath.org/ - free open-source mathematics software system. Maximais a computer algebra system maxima.sourceforge.net.http://en.wikipedia.org/wiki/List_of_computer_algebra_systems

MATLAB http://www.mathworks.com Skaitiniu metodu taikymas. Daug moduliu(Toolboxes): veiksmams su matricom, optimizavimui, neuroniniams tinklams, sistemumodeliavimui (Symulink) ir t.t. Tinka spresti didelius uždavinius.O-Matrix, Mlab du iš daugelio Matlab- panašiu produktu,Octave, FreeMat, Scilabhttp://en.wikipedia.org/wiki/List_of_numerical_analysis_software

SAS http://www.sas.com/ SAS (Statistical Analysis System) – galingiausia statistinesanalizes programa. Trukumas – didele kaina.SPSS http://www.spss.com/ SPSS – populiariausia statistine sistema. Siauresniu nei SASgalimybiu, bet pigesne.R http://www.r-project.org/ R - nemokama statistines analizes programa su aukšto lygiografika.http://en.wikipedia.org/wiki/List_of_statistical_packages

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 11 / 44

Matematinis modeliavimas

Matematiniu uždaviniu sprendimo etapai

Aiškiai suformuluoti problemaAprašyti Ivesti/Išvesti (Input/Output)Matematinis (analizinis) sprendimasAlgoritmas – skaitinis sprendimo metodasProgramavimasTestavimas ir derinimas (Debugging)Rezultatu pateikimas ir ju analize

Matematinismodeliavimas:

Matematinis modeliavimas

Taikomieji arba fizikiniai M t ti i d liTaikomieji arba fizikiniai uždaviniai

Matematinis modelis

Skaičiavimai ir rezultatų analizė Skaitinis metodasanalizė Skaitinis metodas

ProgramavimasProgramavimas

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 12 / 44

Matematinis modeliavimas

Matematinis modeliavimas

Stebimi reiškiniai

Matematinis modelis

Diskretizavimas Sprendimo  algoritmas

Efektyvumas Tikslumas Patikimumas

Vykdymas

Programinė įranga Duomenų  struktūraKompiuteriųarchitektūra

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 13 / 44

Matematinis modeliavimas

Taikomieji arba fizikiniai uždaviniai

Formuluojami pagrindiniai desniai, valdantys tyrimo objekta

Pavyzdys

Taikomieji arba fizikiniai uždaviniai

• Formuluojami pagrindiniai dėsniaiFormuluojami pagrindiniai dėsniai, valdantys tyrimo objektą

1

PVZ.:1

?1

8Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 14 / 44

Matematinis modeliavimas

Matematinis modelis

Desniai užrašomi kaip lygciu sistema (algebriniu, diferencialiniu,integraliniu, gali buti ir netiesine)

Algebrine lygtis F = ma

Paprastoji diferencialine lygtis

F = mdvdt, F = m

d2xdt2

Diferencialine lygtis dalinemisišvestinemis(matematines fizikos lygtis)∂u∂t

=∂2u∂x2 +

∂2u∂y2

Pavyzdys

x =√

2

Taikomieji arba fizikiniai uždaviniai

• Formuluojami pagrindiniai dėsniaiFormuluojami pagrindiniai dėsniai, valdantys tyrimo objektą

1

PVZ.:1

?1

8

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 15 / 44

Matematinis modeliavimas

Skaitinis metodas

Užrašomi diskretusis modelis ir skaiciavimo algoritmasMetodu savybes:

Konvergavimas i sprendini;Konservatyvumas;Korektiškumas;Realizavimo galimybes.

PavyzdysDiskretusis modelis

x =√

2

Skaiciavimo algoritmas

xn =12

(xn−1 +2

xn−1),

nes jei

x0 <√

2,2x0>

2√2

=√

2.

⇒ x1 =12

(x0 +2x0

) yra geresnis artinys.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 16 / 44

Page 3: Skaitiniai metodai Kurso tikslai Turinys: Kurso struktura ...olgas/SM/1P_SM8.pdf · 1946 Splines Schoenberg, de Casteljau, Bezier, de Boor 1947 Monte Carlo simulation Ulam, von Neumann,

Matematinis modeliavimas

Algoritmas

Sprendimo užrašymas tam tikra veiksmu seka, kuria reikia atlikti norintpasiekti tam tikra rezultata⇒algoritmo schema ir pseudokodas.

ProgramavimasAlgoritmo realizavimas kompiuterine programa.

TestavimasTikrinima ar kompiuterine programa iš tikruju sprendžia butent tauždavini, kuri reikia spresti.Tikrinima ar tikrai randamas nagrinejamo uždavinio sprendinys.Skaitinis tikslumas, stabilumas ir efektyvumas.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 17 / 44

Matematinis modeliavimas

Rezultatu analize

Gautu skaiciavimo rezultatu atitinkamumo realiam taikomajamuždaviniui kritine analize.Reikia nusimanyti ne tik programavime, bet ir technikoje, fizikoje irt.t.

Rezultatu pateikimas

Skaiciavimo rezultatu perdavimas žmonems, kurie nori žinotiatsakyma:

Klientams;Darbdaviams, viršininkams;Tikrintojams;Sutarties dalyviams.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 18 / 44

Matematinis modeliavimas

Programavimas

Skaiciavimai ir rezultatu analize Skaiciavimo algoritmas

xn =12

(xn−1 +2

xn−1),

√2 = 1, 414213562 . . .

x0 = 1

x1 = 1, 5

x2 = 1, 4167

x3 = 1, 414216

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 19 / 44

Paklaidos

Uždavinio skaitinio sprendimo paklaida.Paklaidu šaltiniai ir klasifikacija

Matematinio modelio paklaida(del atmestu faktoriu)Metodo paklaida(del itrauktu i modeli faktoriu)Apvalinimo paklaida(uždavinio salygotumas, jautrumas, algoritmo stabilumas)

= ∫T

0x f ( t )dt ( )

=

=∑N

N i ii 0

x c f t

Taikomasis arba fizikinis uždavinys

Matematinis modelis

Skaitinis modelis

x

cε aε

expx

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 20 / 44

Paklaidos

Some disasters caused by numerical errors

Patriot Missile Failure. On February 25, 1991, during the Gulf War, an American

Patriot Missile battery in Dharan, Saudi Arabia, failed to intercept an incoming Iraqi Scud

missile. The Scud struck an American Army barracks and killed 28 soldiers. An inaccurate

calculation of the time since boot due to computer arithmetic errors.

Explosion of the Ariane 5 (June 4, 1996). Only about 40 seconds after initiation of

the flight sequence, at an altitude of about 3700 m, the launcher veered off its flight path,

broke up and exploded. The rocket was on its first voyage, after a decade of development

costing $7 billion. The destroyed rocket and its cargo were valued at $500 million. 64bit

float -> 16bit int. The number was larger than the largest integer storeable in a 16 bit

signed integer, and thus the conversion failed.

The Sleipner A platform ( Norway on 23 August 1991) produces oil and gas in the

North Sea and is supported on the seabed at a water depth of 82 m. The crash caused a

seismic event registering 3.0 on the Richter scale, and left nothing but a pile of debris at

220m of depth. The failure involved a total economic loss of about $700 million. Inaccurate

finite element approximation of the linear elastic model of the tricell (using the popular finite

element program NASTRAN). http://ta.twi.tudelft.nl/users/vuik/wi211/disasters.html

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 21 / 44

Paklaidos

Uždavinio skaitinio sprendimo paklaida I

Matematinio modelio paklaida (del atmestu faktoriu):

Netikslus uždavinio matematinis aprašymas;Duomenu paklaida.

Nepašalinamoji paklaida

xexp - tikslusis sprendinys,x - matematinio modelio sprendinys,εm = x− xexp.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 22 / 44

Paklaidos

Uždavinio skaitinio sprendimo paklaida II

Metodo paklaida(del itrauktu i modeli faktoriu):

aproksimavimas∫−→

∑tikslumas, aritmetiniu veiksmu skaicius.

x - matematinio modelio sprendinys,xN - sprendinys, gaunamas realizuojant skaitini metoda.εh = xN − x.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 23 / 44

Paklaidos

Apvalinimo paklaida (uždavinio salygotumas, jautrumas, algoritmostabilumas):

ivedant duomenis;

atliekant aritmetinius veiksmus;

išvedant duomenis.

Skaiciuojamoji paklaida

xN - sprendinys, gaunamas realizuojant skaitini metoda,x - realiai gaunamas sprendinio artinys.εa = x− xN .

Pilnoji paklaida

ε = εm + εh + εa.

Dažnai ivedamas matas, pvz., skaliaru atveju:

ε = |x− xexp|, ε 6 εm + εh + εa.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 24 / 44

Page 4: Skaitiniai metodai Kurso tikslai Turinys: Kurso struktura ...olgas/SM/1P_SM8.pdf · 1946 Splines Schoenberg, de Casteljau, Bezier, de Boor 1947 Monte Carlo simulation Ulam, von Neumann,

Paklaidos

Skaiciojamoji paklaida

εc = |x− x|.

= ∫T

0x f ( t )dt ( )

=

=∑N

N i ii 0

x c f t

Taikomasis arba fizikinis uždavinys

Matematinis modelis

Skaitinis modelis

x

cε aε

expxTegul x yra skaiciaus xartinys.

Absoliucioji paklaida

∆x = |x− x|.

Santykine paklaida

δx =∣∣x− x

x

∣∣.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 25 / 44

Paklaidos

Paklaidos (pavyzdžiai)

x = 3, 141592, x = 3, 14 yra jo artinys∆x = |x− x| = 0, 001592;δx =

∣∣ x−xx

∣∣ = 0,0015923,141592 = 0, 00507.

y = 999990, y = 1000000 yra jo artinys.∆y = 10 - didele;δy ≈ 0, 00001 - maža.

y yra geras skaiciaus y artinys.

z = 0, 0000125, z = 0, 00001 yra jo artinys.∆z = 0, 0000025;δz = 0, 25 - didele (25 %).

z yra blogas skaiciaus z artinys.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 26 / 44

Paklaidos

Paklaidos (pavyzdžiai)

x = n!, Stirlingo formule x = Sn =√

2πn( n

e

)n yra n! artinys

∆x = |x− x| δx =∣∣ x−x

x

∣∣.n n! Sn ∆x δx

1 1 0.92214 0.077863 0.0778632 2 1.919 0.080996 0.0404983 6 5.8362 0.16379 0.0272984 24 23.506 0.49382 0.0205765 120 118.02 1.9808 0.0165076 720 710.08 9.9218 0.013787 5040 4980.4 59.604 0.0118268 40320 39902 417.6 0.0103579 3.6288 · 105 3.5954 · 105 3343.1 0.009212810 3.6288 · 106 3.5987 · 106 30104. 0.008296

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 27 / 44

Paklaidos

Apytiksliu skaiciu sumos paklaida

x = x±∆x, y = y±∆y yra skaiciu x ir y artiniai.Pagal trikampio nelygybe

|(x + y)− (x + y)| = |(x− x) + (y− y)| 6 |(x− x)|+ |(y− y)| = ∆x + ∆y.

Analogiškai

|(x− y)− (x− y)| = |(x− x)− (y− y)| 6 |(x− x)|+ |(y− y)| = ∆x + ∆y.

Dvieju apytiksliu skaiciu sumos ar skirtumo absoliucioji paklaida yra nedidesne už tu skaiciu absoliuciuju paklaidu suma.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 28 / 44

Paklaidos

Apytiksliu skaiciu sandaugos paklaida

x = x±∆x, y = y±∆y yra skaiciu x ir y artiniai.Ju sandaugos

xy = (x±∆x)(y±∆y) = xy± x∆y± y∆x±∆x∆y

santykine paklaida

δxy =|xy| − xy|xy|

=| ± x∆y± y∆x±∆x∆y|

|xy|

6±|x∆y| ± |y∆x| ± |∆x∆y|

|xy|≈±|x∆y| ± |y∆x|

|xy|= δx + δy.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 29 / 44

Paklaidos

Apytiksliu skaiciu dalmens paklaida

x = x±∆x, y = y±∆y yra skaiciu x ir y artiniai.Analogiškai ju dalmens santykine paklaida

δx/y =| xy −

xy |

| xy |=| ± x∆y∓ y∆x||x(y±∆y)|

≈| ± x∆y∓ y∆x|

|xy|6|∆x||x|

+|∆y||y|

= δx + δy.

Dvieju apytiksliu skaiciu sandaugos ar dalmens santykine paklaida yrane didesne už tu skaiciu santykiniu paklaidu suma.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 30 / 44

Paklaidos

Aritmetiniu veiksmu paklaidos

Paprastas modelisTarkime, kad skaicius gali buti užrašytas naudojant mantise (4skaitmenys ir ženklas) ir eile (2 skaitmenys ir ženklas).

±0.XXXX · 10±XX.

Pavyzdžiui,

0.1000 · 101 0.5425 · 10−14 0.2545 · 1030.

(mantise M turi tenkinti salyga 0.1 ≤ M < 1.)Taip galima užrašyti 4 mln. skirtingu skaiciu. (šeši skaitmenys - nuo 0iki 9 ir du ženklai ).Didžiausias skaicius yra 0, 9999 · 1099.Mažiausias nenulinis skaicius 0, 0001 · 10−99.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 31 / 44

Paklaidos

Algebra

a + b = a 6⇒ b = 0

0.1000 · 101 + 0.4000 · 10−3 = 0.1000 · 101

(a + b) + c 6= a + (b + c)

(0.1000 · 101 + 0.4000 · 10−3) + 0.4000 · 10−3 =0.1000 · 101 + 0.4000 · 10−3 = 0.1000 · 101

0.1000 · 101 + (0.4000 · 10−3 + 0.4000 · 10−3) =0.1000 · 101 + 0.8000 · 10−3 = 0.1001 · 101

√a2 6= |a|

(0.1000 · 10−60)2 =√

0.0000 · 10−99 = 0

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 32 / 44

Page 5: Skaitiniai metodai Kurso tikslai Turinys: Kurso struktura ...olgas/SM/1P_SM8.pdf · 1946 Splines Schoenberg, de Casteljau, Bezier, de Boor 1947 Monte Carlo simulation Ulam, von Neumann,

Paklaidos

Aritmetiniu veiksmu paklaidos

Apskaiciuokime√

2 ∗√

2− 2

1 naudojant simboliniusskaiciavimus (MATLAB,Symbolic Math Toolbox)

2 be simboliniuskaiciavimu

Matlabrealmax = 1.7977e+308a=1.e+308; b=1.1e+308;c=-1.001e+308;a+b+c = Inf a+(b+c) = 1.0990e+308

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 33 / 44

Paklaidos

Aritmetiniu veiksmu paklaidos. 1 pavyzdys.

Kvadratines lygties sprendimas:

x2 − bx + 1 = 0 D = b2 − 4

x1 =b +√

D2

, x2 =b−√

D2

.

Tegul b2 ir D yra dideli vienodo didumo skaiciai. Pertvarkome x2:

x2 =(b−

√D)(b +

√D)

2(b +√

D)=

b2 − D2(b +

√D)

=4

2(b +√

D)=

2(b +

√D).

Dvieju artimu skaiciu skirtumas⇒ potencialus dideles paklaidosšaltinis!

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 34 / 44

Paklaidos

Aritmetiniu veiksmu paklaidos. 1 pavyzdys.

Kvadratines lygties x2 − 97x + 1 = 0 sprendimas:

D = 9405,√

D = 96, 9794.

tiksliai: x2 = 0, 01031;

Skaiciuojame apvalindami iki 5 skaitmenu po kablelio:

standartiškai:racionalizuojant:

x2 = 0, 01050;x2 = 0, 01031.

1 taisykle.Algoritma reikia sudaryti taip, kad nebutu atimami dideli (palyginant suskirtumu) vienodo didumo skaiciai.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 35 / 44

Paklaidos

Apvalinimo paklaidos itaka (pavyzdys)

Kvadratines lygties x2 − 54, 32x + 0, 1 = 0 sprendimas.

Tikslus sprendinys x1 = 54, 318158995, x2 = 0, 0018410049576.Apskaiciuokime x1 ir x2 naudojant 4 reikšminius skaitmenis (four-digitfloating-point arithmetic).D =

√b2 − 4ac =

√(−54, 32)2 − 0, 4 =

√2951− 0, 4 = 54, 32.

x1,4sk =−b +

√D

2a=

54, 32 + 54, 322, 000

=108, 62, 000

= 54, 30.

x2,4sk =−b−

√D

2a=

54, 32− 54, 322, 000

=0, 0002, 000

= 0, 000.

Santykine paklaida

δx1 =∣∣ x1−x1,4sk

x1

∣∣ ∗ 100% = 0, 033%, δx2 = 100%.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 36 / 44

Paklaidos

Aritmetiniu veiksmu paklaidos (pavyzdys)

x = 0, 1; x = 0, 11; ∆x = 0, 01; δx =∣∣∆x

x

∣∣ =0, 010, 1

= 0, 1.

Tegul skaicius y = x0,01 = 10. Tada

y =x

0, 01= 11 ⇒ ∆y = 1, δy = 0, 1.

Dalyba iš mažo skaiciaus => absoliuti paklaida dideja.Absoliuti paklaida padidejo 100 kartu.Santykine paklaida nepakito.

2 taisykle.

Algoritma reikia sudaryti taip, kad nebutu dalybos iš mažo skaiciaus.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 37 / 44

Paklaidos

Aritmetiniu veiksmu paklaidos (pavyzdžiai) Aritmetiniu veiksmu eiliškumas

Sumavimas (single precision arithmetic):N∑

n=1

1n

N Sumuojame nuo 1 iki N Sumuojame nuo N iki 1 tiksliai102 5,187378 5,187377 5.187378103 7,485478 7,485472 7,485471104 9,787613 9,787604 9,787606105 12,09085 12,09015 12,09015106 14,35736 14,39265 14,39273107 15,40368 16,68603 16,69531108 15,40368 18,80792 18,99790

3 taisykle.

Algoritma reikia sudaryti taip, kad skaiciai butu sudedami ju didejimotvarka – kompiuteriu aritmetikoje skaiciu perstatomumo ir jungiamumodesnis veikia ne visada.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 38 / 44

Aritmetiniu veiksmu skaicius

Aritmetiniu veiksmu skaicius 1

Apskaiciuokime daugianario

f (x) = anxn + an−1xn−1 + · · ·+ a1x + a0

reikšme taške x = c.1 algoritmas

Atskirai apskaiciuokimex, x2, . . . , xn,po to

n∑i=1

aixi

f := a0su visais i nuo 1 iki nxi := 1su visais j nuo 1 iki ixi := xi ∗ cciklo pagal j pabaigaf := f + ai ∗ xi

ciklo pagal i pabaiga

(1 + 2 + · · ·+ n) + n = n(n+1)2 + n = n(n+3)

2 daugybos veiksmun sudeties veiksmu

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 39 / 44

Aritmetiniu veiksmu skaicius

Aritmetiniu veiksmu skaicius 2

Apskaiciuokime daugianario reikšme taške x = c:

f (x) = anxn + an−1xn−1 + · · ·+ a1x + a0

2 algoritmas

f := a0xi := csu visais i nuo 1 iki nf := f + ai ∗ xi

xi := xi ∗ cciklo pagal i pabaiga

2n daugybos veiksmun sudeties veiksmu

Kai n� 11 algoritmo daugybu skaicius2 algoritmo daugybu skaicius

=n(n + 3)

2(2n)= 0, 25(n + 3).

2 algoritmas taupesnis už 1 algoritma 0,25(n+3) kartu.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 40 / 44

Page 6: Skaitiniai metodai Kurso tikslai Turinys: Kurso struktura ...olgas/SM/1P_SM8.pdf · 1946 Splines Schoenberg, de Casteljau, Bezier, de Boor 1947 Monte Carlo simulation Ulam, von Neumann,

Aritmetiniu veiksmu skaicius

Aritmetiniu veiksmu skaicius 3

3 algoritmas – Hornerio schema

f (x) =anxn + an−1xn−1 + · · ·+ a1x + a0

=(· · · ((anx + an−1)x + an−2)x + · · ·+ a1)x + a0

f := an

su visais i nuo n iki 1 žingsniu -1f := f ∗ c + ai−1ciklo pagal i pabaiga

n daugybos veiksmun sudeties veiksmu

3 algoritmas: daugybos veiksmu sumažeja 2 kartus, palyginti su 2algoritmu.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 41 / 44

Aritmetiniu veiksmu skaicius

Reikšminiai skaitmenys (angl. Significant Digits )

Reikšminis skaitmuoSkaitmuo, turintis itakos skaiciaus reikšmei. Ji pašalinus, pakintaskaiciaus reikšme.

50500 - visi skaitmenys reikšminiai,50,500 - du paskutiniai skaitmenys (nuliai) nereikšminiai.

32-bitu sistemose: 7 reikšminiai skaitmenys;64-bitu sistemose: 17 reikšminiu skaitmenu;Dvigubas tikslumas (double precision): apvalinimo paklaidasumažinama, skaiciavimo laikas (CPU time) dideja.

π = 3, 141592653589793238462643383 . . . - transcendentinis skaicius⇒skaiciuojant naudojama jo aproksimacija (pvz., 3,14 arba 22/7;3,14159 didesniam tikslumui).e = 2, 71828182845904523536028747135 . . .√

2 = 1, 414213562373095048801688724 . . .Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 42 / 44

Aritmetiniu veiksmu skaicius

Nereikšminiai skaitmenys

3, 25/1, 96 = 1, 65816326530162 . . . (MATLAB)Praktiškai atsakymas suapvalintas 1, 65 arba 1, 66.Kodel?Nežinomas yra sekantis (po šimtuju) reikšmingas skaitmuo:

{3, 259/1, 960 = 1, 66275510204082,3, 250/1, 969 = 1, 65058405281869.

{3, 254/1, 955 = 1, 66445012787724,3, 245/1, 964 = 1, 65224032586558.

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 43 / 44

Aritmetiniu veiksmu skaicius

Slankiojo kablelio skaiciai

Realieji skaiciai (floating-point numbers - slankiojo kablelio skaiciai).

sign signed exponent mantissa

sign (ženklas) 1 (neigiamiems) arba 0 (teigiamiems)exponent (laipsnio rodiklis) teigiamas arba neigiamasmantissa (skaiciaus mantise) reikšminiai skaitmenys

Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 44 / 44