Skaitiniai metodaiMatematinis modeliavimas
Kompiuteriu aritmetika ir algoritmai
Olga Štikoniene
Diferencialiniu lygciu ir skaiciavimo matematikos katedra, MIF VU
2017-02-06
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 1 / 47
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 / 47
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 / 47
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.
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 4 / 47
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 / 47
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.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 A.Quarteroni, R.Sacco, F.Saleri. Numerical Mathematics, Springer,2000.
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 6 / 47
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
The Princeton Companion to MathematicsSkaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 7 / 47
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 / 47
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 / 47
Kurso struktura
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 research.Blue: Algorithms strongly (though not exclusively) connected toNumerical Linear Algebra research.
http://www.siam.org/pdf/news/637.pdfSkaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 10 / 47
Kurso struktura
Vladimir Rokhlin is mathematician and professor of computerscience and mathematics at the Yale University.
He is co-inventor of the fast multipole method (FMM) in 1987,recognised as one of the top-ten algorithms of the 20th century.Vladimir Rokhlin was born on August 4, 1952 in Voronezh, Russia.In 1973 he received a M.S. in mathematics from the University ofVilnius in Lithuania,in 1983 a Ph.D. in applied mathematics from the Rice Universitylocated in Houston, Texas, United States.
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 11 / 47
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 12 / 47
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.Maxima is 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 13 / 47
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
http://www.collective-behavior.com/apps/fishgame/
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 14 / 47
Matematinis modeliavimas
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 15 / 47
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 16 / 47
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 17 / 47
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 18 / 47
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 18 / 47
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 19 / 47
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 19 / 47
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 20 / 47
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 21 / 47
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 22 / 47
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
mε
cε aε
hε
expx
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 23 / 47
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 24 / 47
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 25 / 47
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 26 / 47
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 27 / 47
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
mε
cε aε
hε
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 28 / 47
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 29 / 47
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 30 / 47
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 31 / 47
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 32 / 47
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 33 / 47
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 34 / 47
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 35 / 47
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 36 / 47
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 37 / 47
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 38 / 47
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 39 / 47
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 40 / 47
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 41 / 47
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 42 / 47
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 43 / 47
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 44 / 47
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 45 / 47
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 46 / 47
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 47 / 47