Кіріспе
Сандық алгоритмдердің кіріс мәліметтерінің шағын өзгерістеріне қарамастан дәлдігін сақтау қабілеті. Сандық талдаудың математикалық саласында сандық тұрақтылық – сандық алгоритмдердің қажетті қасиеті болып табылады. Тұрақтылықтың нақты анықтамасы контекстке байланысты. Олардың бірі – сандық сызықтық алгебра, екіншісі – дискретті жуықтау арқылы қалыпты және дербес дифференциалдық теңдеулерді шешу алгоритмдері. Сандық сызықтық алгебрада басты мәселе – өте кішкентай немесе жақын орналасқан өзіндік мәндер сияқты түрлі сингулярлықтарға жақындықтан туындаған тұрақсыздықтар. Ал дифференциалдық теңдеулерге арналған сандық алгоритмдерде бастапқы деректердегі дөңгелектеу қателерінің және/немесе шағын ауытқулардың өсуі маңызды, бұл соңғы жауаптың нақты шешімнен үлкен айырмашылығына әкелуі мүмкін. Кейбір сандық алгоритмдер кіріс деректеріндегі шағын ауытқуларды (қателерді) баса алады, ал басқалары оларды ұлғайтуы мүмкін. Жақындау қателерін ұлғайтпайтыны дәлелденген есептеулер сандық тұрақты деп аталады. Сандық талдаудың маңызды міндеттерінің бірі – кіріс деректерінің өте шағын өзгеруіне байланысты күрт өзгеше нәтиже бермейтін, яғни сенімді алгоритмдерді таңдауға тырысу. Мұның кері құбылысы – тұрақсыздық. Әдетте, алгоритм жуық әдісті қамтиды, және кейбір жағдайларда алгоритмнің белгілі бір шекте дұрыс шешімге жақындайтынын дәлелдеуге болады (нақты сандарды қолданғанда, қалқыма нүктелі сандарды емес). Бірақ тіпті осы жағдайда да, дұрыс шешімге жуықтасатынына кепілдік жоқ, себебі қалқыма нүктелі дөңгелектеу немесе кесу қателері ұлғайтылуы мүмкін, басу орнына, бұл нақты шешімнен ауытқудың экспоненциалды өсуіне алып келеді.
In the mathematical subfield of numerical analysis, numerical stability is a generally desirable property of numerical algorithms. The precise definition of stability depends on the context. One is numerical linear algebra and the other is algorithms for solving ordinary and partial differential equations by discrete approximation. In numerical linear algebra, the principal concern is instabilities caused by proximity to singularities of various kinds, such as very small or nearly colliding eigenvalues. On the other hand, in numerical algorithms for differential equations the concern is the growth of round off errors and/or small fluctuations in initial data which might cause a large deviation of final answer from the exact solution. Some numerical algorithms may damp out the small fluctuations (errors) in the input data; others might magnify such errors. Calculations that can be proven not to magnify approximation errors are called numerically stable. One of the common tasks of numerical analysis is to try to select algorithms which are robust – that is to say, do not produce a wildly different result for very small change in the input data. An opposite phenomenon is instability. Typically, an algorithm involves an approximative method, and in some cases one could prove that the algorithm would approach the right solution in some limit (when using actual real numbers, not floating point numbers). Even in this case, there is no guarantee that it would converge to the correct solution, because the floating point round off or truncation errors can be magnified, instead of damped, causing the deviation from the exact solution to grow exponentially.
Сандық сызықтық алгебрадағы тұрақтылық
Тұрақтылық ұғымын формализациялаудың әртүрлі тәсілдері бар. Алға, артқа және аралас тұрақтылықтың келесі анықтамалары сандық сызықтық алгебрада жиі қолданылады. Сандық алгоритммен шешілетін мәселені x деректерін y шешіміне бейнелейтін f функциясы ретінде қарастырайық. Алгоритмнің нәтижесі, мысалы y*, әдетте y "нағыз" шешімінен ауытқиды. Қателердің басты себептері дөңгелектеу қатесі және уақытша тоқтату қатесі болып табылады. Алгоритмнің алға қарайғы қатесі – нәтиже мен шешім арасындағы айырмашылық; бұл жағдайда 1=Δy = y* − y. Артқа қарайғы қате – ең кіші Δx, яғни 1=f(x + Δx) = y*; басқаша айтқанда, артқа қарайғы қате алгоритм қандай мәселені шешкенін көрсетеді. Алға және артқа қарайғы қателер шарт санымен байланысты: алға қарайғы қате шамасы жөнінен ең көп дегенде шарт саны артқа қарайғы қате шамасына көбейтілгенге тең. Көп жағдайда абсолютті Δx қателігі орнына салыстырмалы қателікті қарастыру оңтайлырақ. Егер артқа қарайғы қате барлық x кірістері үшін кішкентай болса, алгоритм артқа қарай тұрақты деп аталады. Әрине, "кішкентай" деген термин салыстырмалы және оның анықтамасы жағдайға байланысты. Көбінесе қателік бірлікпен тең немесе бірнеше рет үлкен болуын қалаймыз. Сандық тұрақтылықтың әдеттегі анықтамасы алға қарайғы қате мен артқа қарайғы қателерді біріктіретін, аралас тұрақтылық деп аталатын жалпы ұғымды пайдаланады. Алгоритм осы мағынада тұрақты болады, егер ол жақын мәселені шамамен шешсе, яғни егер Δx болса, онда Δx кішкентай және f(x + Δx) − y* кішкентай болады. Осылайша, артқа қарай тұрақты алгоритм әрқашан тұрақты болады. Алгоритм алға қарай тұрақты болады, егер оның алға қарайғы қатесі мәселенің шарт санына бөлінгенде кішкентай шықса. Яғни, алгоритмде кейбір артқа қарай тұрақты алгоритмге ұқсас шамадағы алға қарайғы қате болса, ол алға қарай тұрақты болып саналады.
Сандық дифференциалдық теңдеулердегі тұрақтылық
Жоғарыда келтірілген анықтамалар кесу қателері маңызды емес жағдайларда ерекше маңызды. Басқа жағдайларда, мысалы, дифференциалдық теңдеулерді шешу кезінде сандық тұрақтылықтың өзгеше анықтамасы қолданылады. Сандық қалыпты дифференциалдық теңдеулерде сандық тұрақтылықтың әртүрлі түсініктерi бар, мысалы, А тұрақтылығы. Олар динамикалық жүйелер мағынасындағы тұрақтылық түсінігімен байланысты, көбінесе Ляпунов тұрақтылығы. Қатты теңдеуді шешу кезінде тұрақты әдіс қолдану маңызды. Сандық дербес дифференциалдық теңдеулерде тағы бір анықтама қолданылады. Сызықтық эволюциялық дербес дифференциалдық теңдеуді шешу алгоритмі, егер сандық шешімнің жалпы өзгерісі белгілі бір уақытта қадам мөлшері нөлге жақындағанда шектелі болып қалатын болса, тұрақты болады. Лакс эквиваленттілік теоремасы алгоритмнің дәйекті және тұрақты болғанда (осы мағынада) жинақты болатынын көрсетеді. Тұрақтылық кейде сандық диффузияны қосу арқылы қамтамасыз етіледі. Сандық диффузия – математикалық термин, ол есептеулердегі дөңгелектеу және басқа қателердің таралуын қамтамасыз етеді және олардың жиналып, есептеудің «бұзылуына» әкеп соқпайды. Фон-Нойман тұрақтылық талдауы – сызықтық дербес дифференциалдық теңдеулерге қолданылатын шекті айырмашылық схемаларының тұрақтылық талдауы үшін жиі қолданылатын процедура. Бұл нәтижелер сызықтық емес дербес дифференциалдық теңдеулерге қатысты жарамсыз, себебі оларда тұрақтылықтың жалпы, дәйекті анықтамасы сызықтық теңдеулерде жоқ көптеген қасиеттермен күрделенеді.