Особливості застосування багаторозрядної арифметики в математичному моделюванні

In the paper the peculiarities of using multi-bit arithmetic in mathematical modeling are investigated. An experimental study of means of improving the accuracy of computer results of solving poorly ill-conditioned systems of linear algebraic equations using the GMP library...

Full description

Saved in:
Bibliographic Details
Date:2023
Main Authors: Khimich, Oleksandr, Nikolaeivska, Olena, Baranov, Igor
Format: Article
Language:Ukrainian
Published: Інститут прикладних проблем механіки і математики ім. Я. С. Підстригача НАН України 2023
Subjects:
Online Access:https://www.fmmit.lviv.ua/index.php/fmmit/article/view/322
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Physico-mathematical modeling and informational technologies
Download file: Pdf

Institution

Physico-mathematical modeling and informational technologies
_version_ 1867479694117437440
author Khimich, Oleksandr
Nikolaeivska, Olena
Baranov, Igor
author_facet Khimich, Oleksandr
Nikolaeivska, Olena
Baranov, Igor
author_institution_txt_mv [ { "author": "Oleksandr Khimich", "institution": "Академік, д. фіз.-мат. н., професор, Інститут кібернетики ім. В.М. Глушкова НАН України, Проспект Академіка Глушкова, 40, 03187, Київ" }, { "author": "Olena Nikolaeivska", "institution": "к. фіз.-мат. н., Інститут кібернетики ім. В.М. Глушкова НАН України, Проспект Академіка Глушкова, 40, 03187, Київ" }, { "author": "Igor Baranov", "institution": "Інститут кібернетики ім. В.М. Глушкова НАН України, Проспект Академіка Глушкова, 40, 03187, Київ" } ]
author_sort Khimich, Oleksandr
baseUrl_str http://www.fmmit.lviv.ua/index.php/fmmit/oai
collection OJS
datestamp_date 2025-02-21T17:31:10Z
description In the paper the peculiarities of using multi-bit arithmetic in mathematical modeling are investigated. An experimental study of means of improving the accuracy of computer results of solving poorly ill-conditioned systems of linear algebraic equations using the GMP library is described to improve the accuracy of calculations.
first_indexed 2026-06-09T01:10:20Z
format Article
fulltext 143 doi.org/10.15407/fmmit2023.37.143 Особливості застосування багаторозрядної арифметики в математичному моделюванні Олександр Хіміч1, Олена Ніколаєвська2, Ігор Баранов3 1 Академік, д. фіз.-мат. н., професор, Інститут кібернетики ім. В.М. Глушкова НАН України, Проспект Академіка Глушкова, 40, 03187, Київ, e-mail: khimich505@gmail.com 2 к. фіз.-мат. н., Інститут кібернетики ім. В.М. Глушкова НАН України, Проспект Академіка Глушкова, 40, 03187, Київ, e-mail: elena_nea@ukr.net 3 Інститут кібернетики ім. В.М. Глушкова НАН України, Проспект Академіка Глушкова, 40, 03187, Київ, e-mail: vlasov@ukr.net В роботі досліджуються особливості використання багаторозрядної арифметики в математичному моделюванні. Досліджуються засоби підвищення точності комп’ютерних розв’язків погано обумовлених систем лінійних алгебраїчних рівнянь за допомогою бібліотеки багаторозрядної арифметики GMP. Ключові слова: багаторозрядна арифметика, бібліотека GMP, , наближено задані вихідні дані, достовірність розв’язків, похибки заокруглення, машинна точність. Вступ. Для багатьох обчислень, в тому числі тих, що використовують емпіричні дані, IEEE 32-бітна арифметика з плаваючою комою є достатньою та бажаною, оскільки суттєво економиться пам’ять та час розв’язування задачі. Але для більшості задач необхідна підвищена точність обчислень. Більше того, досвід показує, що в деяких випадках використання навіть 64-бітної арифметики не достатньо для отримання достовірних розв’язків. Одним з найважливіших напрямків використання комп’ютерів, які забезпечують науково-технічний прогрес, є їх застосування для комп’ютерного моделювання процесів, більшість з яких зводиться або мають своїм проміжним етапом розв’язування задач обчислювальної математики. Використання комп’ютерів паралельної архітектури дає можливість набагато збільшити розмірності дискретних моделей. Але, незважаючи на досить повне теоретичне обґрунтування методів розв’язування цих задач, іноді отримують комп’ютерні розв’язки, що не мають фізичного сенсу. Причинами цього можуть бути: по-перше, наближений характер вихідних даних та похибки, які виникають внаслідок їх представлення в пам’яті комп’ютера, по-друге, похибки заокруглення в процесі обчислень, обумовлені скінченною величиною розрядної сітки комп’ютера; по-третє, похибки. Слід також зазначити, що методи класичної математики можуть бути непридатні для комп’ютерної реалізації. Так, наприклад, класичні методи визначення такого фундаментального поняття лінійної алгебри як ранг матриці УДК 519.6 mailto:elena_nea@ukr.net mailto:vlasov@ukr.net Олександр Хіміч, Олена Ніколаєвська, Ігор Баранов Особливості застосування багаторозрядної арифметики в математичному моделюванні 144 непридатні з обчислювальної точки зору для реалізації з обмеженою розрядністю обчислень. У цьому випадку слід використовувати визначення рангу матриці, яка враховує наближений характер машинних моделей задач [1], а для його обчислення ‒ стійкі з обчислювальної точки зору алгоритми, зокрема алгоритм сингулярного розвинення матриць. Інший приклад пов’язаний з виродженістю матриць. Реалізація класичного визначення виродженності матриці ‒ рівність нулю її визначника ‒ в комп’ютерній арифметиці очевидно є неприйнятною (великий обсяг комп’ютерних обчислень для матриць, які виникають на практиці призводить до неправильних результатів через похибки обчислень). У цьому випадку доцільно перевіряти матрицю на виродженність в межах машинної точності, використовуючи в арифметиці з плаваючою комою співвідношення , (1) де condAcondAr /)( 1 , condA ‒ оцінка числа обумовленості матриці [1, 2]. Виконання цієї умови, яка виконується в арифметиці з плаваючою комою, означає, що матриця має повний ранг у межах машинної точності. У випадку невиконання цього співвідношення для забезпечення достовірності обчислень необхідно продовжити дослідження з використанням підвищеної розрядності обчислень для ідентифікації виродженості чи поганої обумовленості матриці [3]. Слід зазначити, що аналогічні рішення щодо ідентифікації властивостей задач і адаптації комп’ютерного середовища до їх властивостей у паталогічних випадках мають місце і для інших класів задач (близьких і кратних власних значень, близьких і кратних коренів поліномів, нелінійних рівнянь). Отже, однією з актуальних проблем отримання достовірних комп’ютерних результатів математичного моделювання є створення засобів розв’язування задач з довільною комп’ютерною розрядністю. В цій роботі акцентується увага на вирішенні проблеми отримання достовірного розв’язку программно- алгоритмічними методами в умовах багаторозрядної арифметики. 1. Деякі факти про багаторозрядну арифметику з плаваючою комою Проблеми підвищення точності комп’ютерних обчислень стали досліджувати ще в середині минулого століття. В Інституті кібернетики ім. В.М. Глушкова в 1965 році вперше в світі на комп’ютерах серії МІР було реалізовано виконання обчислень з довільною розрядністю. Причому оператор «розрядність» можна було використовувати в будь-якому місці програми [4]. З появою комп’ютерів паралельних архітектур стало можливим розв’язувати задачі математичного моделювання надвеликих розмірів і проблеми використання підвищеної комп’ютерної розрядності стали ще більш актуальними. У 2008 року в напрямку підвищення розрядності обчислень був зроблений важливий крок, пов’язаний з публікацією стандарту IEEE 754-2008, який замінив раніше діючий стандарт обчислень з плаваючою комою IEEE 754-1985. Стандарт 1985 року передбачав 2 типи чисел з плаваючою комою: одинарної (32-розрядні) ISSN 1816-1545 Фізико-математичне моделювання та інформаційні технології 2023, вип. 37, 143-148 145 і подвійної (64-розрядні) точності. У стандарті IEEE 754-2008 однією з перших апаратних реалізацій став арифметичний співпроцесор Intel 8087, в якому додатково використовується внутрішній «розширений» 80-розрядний формат з 64-розрядною мантисою. Проте на більшості сучасних робочих станціях та суперкомп’ютерів використовуються стандартні масові процесори, які не підтримують довільну розрядність. Це спонукало до створення апаратних та програмних засобів для реалізації обчислень з підвищеною точністю [5]. 2. Особливості застосування багаторозрядної арифметики для розв'зування СЛАР Чисельні методи розв’язків систем лінійних алгебраїчних рівнянь мають одну загальну властивість. Саме реально обчислений розв’язок (псевдорозв’язок) є точним відповідно до зворотного аналізу помилок [6] для деякої збуреної задачі. Ці збурення дуже малі і нерідко їх можна порівняти з похибками заокруглення вхідних даних. Якщо вхідні дані задані з похибкою (вимірювань, розрахунків тощо), зазвичай вони вже містять значно більші похибки, ніж похибки округлень. У цьому випадку будь-яка спроба покращити машинний розв’язок (псевдорозв’язок) без залучення додаткових відомостей про точну задачу або похибки вхідних даних виявиться неспроможною. Положення суттєво змінюється, якщо розглядається математична задача з точними вихідними даними. Тепер критерій поганої чи хорошої обумовленості машинної моделі задачі залежить від математичних властивостей комп'ютерної моделі задачі (числа обумовленості матриці задачі) та математичних властивостей процесора (довжини машинного слова) і з'являється принципова можливість досягти будь- якої заданої точності комп'ютерного розв’язку. В цьому випадку уточнити комп’ютерний розв’язок можна, використавши ітераційне уточнення розв’язку або розв’язання системи з підвищеною розрядністю, зокрема, використовуючи бібліотеку GMP [7] для реалізації обчислень із довільною розрядністю. Далі, для прогнозу довжини мантиси (машинного слова), яка забезпечує задану точність для розв’язку (сумісних систем) можна користуватися наступним емпіричним правилом: кількість вірних десяткових значущих цифр у комп'ютерному розв’язку оцінюється величиною , (2) де - десятковий порядок мантиси числа з плаваючою точкою, - десятковий порядок числа обумовленості. Таким чином, знаючи обумовленість матриці системи та точність обчислень на комп'ютері, можна визначити необхідну розрядність для отримання достовірного розв’зку. Одним з інструментів для підвищення розрядності є бібліотека GMP, яка має великий набір функцій і дозволяє організувати процес обчислення з різною розрядністю. Бібліотека GMP використовується для роботи над цілими, раціональними числами та числами з плаваючою точкою. Головна особливість бібліотеки – розрядність чисел (precision) практично необмежена. Тому основна Олександр Хіміч, Олена Ніколаєвська, Ігор Баранов Особливості застосування багаторозрядної арифметики в математичному моделюванні 146 сфера застосування - комп'ютерні алгебраїчні обчислення, криптографія та ін. Функції бібліотеки GMP дозволяють не тільки задавати розрядність на початку програми і виконувати обчислення з цією розрядністю, але і змінювати розрядність при необхідності в процесі обчислень, тобто. різні фрагменти алгоритму виконувати із різною розрядністю. Для того, щоб проводити обчислення з бажаною розрядністю, необхідно в програмах Сі або С++, вставити звернення на відповідні функції з бібліотеки GMP для перетворення типів даних та арифметичних дій над ними, а також підключити файл gmp.h, де описані прототипи цих функцій . Можливості бібліотеки були апробовані для дослідження розв’язків вироджених і погано обумовлених систем. В роботах [8, 9] було проведено експерименти по застосуванню бібліотеки GMP, а саме, було досліджено питання застосування бібліотеки GMP для отримання уточненого розв’язку СЛАР з погано обумовленими матрицями. Знаючи обумовленість матриці системи та точність обчислень на комп'ютері, можна визначити необхідну розрядність для отримання достовірного рішення. В табл. 1 наведено значення macheps (найбільше число з плаваючою точкою, для якого виконується ) і яке характеризує точність плаваючої арифметики для різноюї розрядності: Таблиця 1 Значення macheps для розрядності double, 64, 128 на процесорах Intel Мова програмування Довжина мантиси macheps C++ double (53) 1.110e-16 long double(64) 2.71050543121376108502e-20 C++ з використанням GMP 128 1.46936793852785938496092e-39 256 4.31808427754722231269317e-78 Приклад. Розглянемо систему лінійних рівнянь алгебри , де A і b мають такий вигляд: [ ] [ ]. «Точний» розв'язок системи (розв'язок, порахований на розрядності 100) має вигляд: [ - - ] . ISSN 1816-1545 Фізико-математичне моделювання та інформаційні технології 2023, вип. 37, 143-148 147 В табл. 2 представлені результати розв'язків СЛАР, які отримані з подвоєною розрядністю за допомогою програми С++, а також з підвищеною розрядністю за допомогою програми С++ з використанням функцій бібліотеки GMP. Таблиця 2. Розв'язок СЛАР з розрядністю double та підвищеною розрядністю на Інпарком-256 Мова програмування Довжина мантиси Комп’ютерний розв’зок системи C++ Double (53) x1=3.60239e+12 x2=-2.17203e+12 x3=-9.00599e+11 x4=5.29764e+11 C++ з використанням GMP 64 x1=0.666199107066943565109e13 x2=-0.40167887337851497738e13 x3=-0.166549776766692724716e13 x4=0.979704569216725111902e12 128 x1=0.6662162162161606738798067836677102584254e13 x2=-0.4016891891890723506952168315835297097735e13 x3=-0.1665540540539970051894019476345873995266e13 x4=0.9797297297302797072574945617251937251362e12 Експерименти з дослідження часу розв'язання задач великих порядків показали, що, наприклад, час розв'язання системи лінійних алгебраїчних рівнянь з однією і тією ж матрицею з розрядністю 64 за допомогою програми С++ з використанням функцій GMP значно збільшується порівняно з часом розв'язання з подвійною розрядністю за допомогою програми С++ без використанням функцій GMP (табл. 3), т.к. потрібен додатковий час на виклик та ініціалізацію функцій GMP. Проте із збільшенням розмірів завдання ця різниця зменшується, так як. час викликів функцій GMP виявляється значно меншим, ніж основний час виконання арифметичних операцій. Подальше збільшення розрядності у програмі С++ з використанням функцій GMP ненабагато збільшує час розв'язання задачі. Таблица 3 Порівняльна характеристика часу розв'зування СЛАР на Інпарком-256 Порядок матриці C++ С++, GMP double (53) 64 128 256 200 0,04 сек 0,75 сек 0,84 сек 1,04 сек 1000 6,55 сек 96.44 сек 14.72 сек 107.7 сек 4500 688,94 сек 7320,06 сек 8050,12 сек 10104,56 сек Олександр Хіміч, Олена Ніколаєвська, Ігор Баранов Особливості застосування багаторозрядної арифметики в математичному моделюванні 148 Висновки. Таким чином, для задач математичного моделювання змінна багаторозрядна арифметика по-перше дозволяє реалізувати адаптивні алгоритми ідентифікації властивостей задач, що неможливо у фіксованому комп’ютерному середовищі, по-друге, забезпечує обчислення комп’ютерного розв’язку з заданою точністю . Література [1] Молчанов. И. Н. Машинные методы решения прикладных задач. Алгебра, приближение функций, обыкновенные дифференциальные уравнения. – Киев: Наук. думка, 2007. – 550 с. [2] Химич А.Н., Молчанов И.Н., Попов О.В. и др. Параллельные алгоритмы решения задач вычислительной математики. - Київ: Наук. думка, 2008. – 247 с. [3] Khimiсh O. M., Chistyakova T.V, Sidoruk V.A., Yershov P.S. Adaptive computer technologies for solving problems of computational and applied mathematics. Cybernetics and Systems Analysis. 2021. Vol. 57, N 6. P. 990–997. DOI: https://doi.org/10.1007/s10559-021-00424-z [4] Глушков В.М., Молчанов, Б.Н. Брусникин и др Программное обеспечение ЭВМ МИР-1 и МИР-2. Численные методы - Киев: Наук. думка, 1976. – Т. 1. – 280 с. [5] Bailey, D. H.; Hida, Y.; Li, Y.; Thompson, B. ARPREC: An arbitrary precision computation package, 2002. http://www.davidhbailey.com/dhbpapers/arprec.pdf [6] Уилкинсон Дж.Х., Дж.Х., Райнш К. Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра – М.: Машиностроение, 1976. – 389 с. [7] The GNU multiple precision library. https://gmplib.org [8] Nikolaevskaya, E.A., Chistyakova, T.V. Program-algorithmic methods to improve the accuracy of computer solutions. Cybern Syst Anal 45, 1004–1007 (2009). https://doi.org/10.1007/s10559-009- 9164-7 [9] В. К. Задірака, А. М. Терещенко Комп’ютерна арифметика багаторозрядних чисел у послідовній та паралельній моделях обчислень. – Київ: Наукова думка, 2021. – 135 с. Peculiarities of using multiple precision arithmetic in mathematical modeling Oleksandr Khimich, Olena Nikolaeivska, Igor Baranov In the paper the peculiarities of using multi-bit arithmetic in mathematical modeling are investigated. An experimental study of means of improving the accuracy of computer results of solving poorly ill-conditioned systems of linear algebraic equations using the GMP library is described to improve the accuracy of calculations. Отримано 31.03.23 https://doi.org/10.1007/s10559-021-00424-z http://www.davidhbailey.com/dhbpapers/arprec.pdf https://gmplib.org/ https://doi.org/10.1007/s10559-009-9164-7 https://doi.org/10.1007/s10559-009-9164-7
id oai:ojs2.www.fmmit.lviv.ua:article-322
institution Physico-mathematical modeling and informational technologies
keywords_txt_mv keywords
language Ukrainian
last_indexed 2026-06-09T01:10:20Z
publishDate 2023
publisher Інститут прикладних проблем механіки і математики ім. Я. С. Підстригача НАН України
record_format ojs
resource_txt_mv wwwfmmitlvivua/25/f8dd436ffcd1dee5369450f10e705525.pdf
spelling oai:ojs2.www.fmmit.lviv.ua:article-3222025-02-21T17:31:10Z Peculiarities of using multiple precision arithmetic in mathematical modeling Особливості застосування багаторозрядної арифметики в математичному моделюванні Khimich, Oleksandr Nikolaeivska, Olena Baranov, Igor багаторозрядна арифметика, бібліотека GMP, , наближено задані вихідні дані, достовірність розв’язків, похибки заокруглення, машинна точність In the paper the peculiarities of using multi-bit arithmetic in mathematical modeling are investigated. An experimental study of means of improving the accuracy of computer results of solving poorly ill-conditioned systems of linear algebraic equations using the GMP library is described to improve the accuracy of calculations. В роботі досліджуються особливості використання багаторозрядної арифметики в математичному моделюванні. Досліджуються засоби підвищення точності комп’ютерних розв’язків погано обумовлених систем лінійних алгебраїчних рівнянь за допомогою бібліотеки багаторозрядної арифметики GMP. Інститут прикладних проблем механіки і математики ім. Я. С. Підстригача НАН України 2023-06-29 Article Article application/pdf https://www.fmmit.lviv.ua/index.php/fmmit/article/view/322 PHYSICO-MATHEMATICAL MODELLING AND INFORMATIONAL TECHNOLOGIES; No. 37 (2023): ФІЗИКО-МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ ТА ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ; 143_148 ФІЗИКО-МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ ТА ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ; № 37 (2023): ФІЗИКО-МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ ТА ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ; 143_148 2617-5258 1816-1545 10.15407/fmmit2023.37 uk https://www.fmmit.lviv.ua/index.php/fmmit/article/view/322/290 Авторське право (c) 2023 Олександр Хіміч, Олена Ніколаєвська, Ігор Баранов (Автор)
spellingShingle багаторозрядна арифметика
бібліотека GMP

наближено задані вихідні дані
достовірність розв’язків
похибки заокруглення
машинна точність
Khimich, Oleksandr
Nikolaeivska, Olena
Baranov, Igor
Особливості застосування багаторозрядної арифметики в математичному моделюванні
title Особливості застосування багаторозрядної арифметики в математичному моделюванні
title_alt Peculiarities of using multiple precision arithmetic in mathematical modeling
title_full Особливості застосування багаторозрядної арифметики в математичному моделюванні
title_fullStr Особливості застосування багаторозрядної арифметики в математичному моделюванні
title_full_unstemmed Особливості застосування багаторозрядної арифметики в математичному моделюванні
title_short Особливості застосування багаторозрядної арифметики в математичному моделюванні
title_sort особливості застосування багаторозрядної арифметики в математичному моделюванні
topic багаторозрядна арифметика
бібліотека GMP

наближено задані вихідні дані
достовірність розв’язків
похибки заокруглення
машинна точність
topic_facet багаторозрядна арифметика
бібліотека GMP

наближено задані вихідні дані
достовірність розв’язків
похибки заокруглення
машинна точність
url https://www.fmmit.lviv.ua/index.php/fmmit/article/view/322
work_keys_str_mv AT khimicholeksandr peculiaritiesofusingmultipleprecisionarithmeticinmathematicalmodeling
AT nikolaeivskaolena peculiaritiesofusingmultipleprecisionarithmeticinmathematicalmodeling
AT baranovigor peculiaritiesofusingmultipleprecisionarithmeticinmathematicalmodeling
AT khimicholeksandr osoblivostízastosuvannâbagatorozrâdnoíarifmetikivmatematičnomumodelûvanní
AT nikolaeivskaolena osoblivostízastosuvannâbagatorozrâdnoíarifmetikivmatematičnomumodelûvanní
AT baranovigor osoblivostízastosuvannâbagatorozrâdnoíarifmetikivmatematičnomumodelûvanní