О технологии длинной арифметики при построении алгоритмов исследования линейных систем

Предложен новый алгоритм и компьютерная реализация метода базисных матриц в среде Visual С++ с использованием метода Штрассена умножения длинных чисел и быстрого преобразования Фурье. Приведены результаты вычислительного эксперимента, в котором тестовые модели систем генерировались на основе матриц...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Компьютерная математика
Datum:2009
Hauptverfasser: Кудин, В.И., Ляшко, С.И., Оноцкий, В.В.
Format: Artikel
Sprache:Russisch
Veröffentlicht: Інститут кібернетики ім. В.М. Глушкова НАН України 2009
Schlagworte:
Online Zugang:https://nasplib.isofts.kiev.ua/handle/123456789/84552
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Zitieren:О технологии длинной арифметики при построении алгоритмов исследования линейных систем / В.И. Кудин, С.И. Ляшко, В.В. Оноцкий // Компьютерная математика. — 2009. — № 2. — С. 101-108. — Бібліогр.: 6 назв. — рос.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859758220739870720
author Кудин, В.И.
Ляшко, С.И.
Оноцкий, В.В.
author_facet Кудин, В.И.
Ляшко, С.И.
Оноцкий, В.В.
citation_txt О технологии длинной арифметики при построении алгоритмов исследования линейных систем / В.И. Кудин, С.И. Ляшко, В.В. Оноцкий // Компьютерная математика. — 2009. — № 2. — С. 101-108. — Бібліогр.: 6 назв. — рос.
collection DSpace DC
container_title Компьютерная математика
description Предложен новый алгоритм и компьютерная реализация метода базисных матриц в среде Visual С++ с использованием метода Штрассена умножения длинных чисел и быстрого преобразования Фурье. Приведены результаты вычислительного эксперимента, в котором тестовые модели систем генерировались на основе матриц Гильберта разной размерности. Досліджено властивості комп'ютерної реалізації алгоритму методу базисних матриць для системи лінійних алгебраїчних рівнянь у середовищі Visual С++ з використанням множення довгих чисел методом Штрассена, що базується на швидкому перетворенні Фур'є. Наведено результати комп’ютерної реалізації на матрицях Гільберта різної розмірності. New algorithm and computer implementation with Microsoft Visual C++ environment of base matrice method using Schtrassen multiplication of long numbers and fast Fourier transformations are proposed. Computation experiment results for this method for test models with Gilbert matrices in various dimensions are presented.
first_indexed 2025-12-02T02:49:36Z
format Article
fulltext Предложен новый алгоритм и компьютерная реализация мето- да базисных матриц в среде Visual С++ с использованием метода Штрассена умножения длинных чисел и быстрого преобразования Фурье. Приведены результаты вычислительного эксперимента, в котором тестовые модели си- стем генерировались на основе матриц Гильберта разной раз- мерности. © В.И. Кудин, С.И. Ляшко, В.В. Оноцкий, 2009 ÓÄÊ 519.852:519.876 Â.È. ÊÓÄÈÍ, Ñ.È. ËߨÊÎ, Â.Â. ÎÍÎÖÊÈÉ Î ÒÅÕÍÎËÎÃÈÈ ÄËÈÍÍÎÉ ÀÐÈÔÌÅÒÈÊÈ ÏÐÈ ÏÎÑÒÐÎÅÍÈÈ ÀËÃÎÐÈÒÌΠÈÑÑËÅÄÎÂÀÍÈß ËÈÍÅÉÍÛÕ ÑÈÑÒÅÌ Для анализа свойств линейных систем урав- нений (СЛАУ) и неравенств (СЛАН) с квад- ратной матрицей ограничений разработан ряд точных методов [1–4]. Известно, что по своим структурным свойствам модели СЛАУ относятся к некорректным. Одним из прояв- лений некорректности является свойство плохой обусловленности [1–3]. Для тестиро- вания известных схем решения данного клас- са задач разработан ряд библиотек моделей систем с плохо обусловленными матрицами ограничений. В частности, к таким матрицам принадлежит матрица Гильберта. В работе [4] приведены основные соотношения, исполь- зованные при построении метода базисных матриц (МБМ). На основе формул связи элементов метода в cмежных решениях пред- ложена итерационная процедура нахождения величины ранга матрицы ограничений. Получено условие единственности решений и разработан алгоритм исследования плохо обусловленных СЛАУ и СЛАН на основе технологии длинной арифметики. В данной работе приведены новые резуль- таты об использовании усовершенствован- ных точных вычислений, которые базируют- ся на быстрых методах умножения и деления длинных чисел. В частности, разработана алгоритмическая схема проведения вычисле- ний по схеме МБМ с использованием техно- логии длинной арифметики для моделей с рациональными элементами, которая реали- зована на языке С++ в виде программного комплекса. Компьютерная математика. 2009, № 2 101 В.И. КУДИН, С.И. ЛЯШКО, В.В. ОНОЦКИЙ Постановка задачи. Рассмотрим СЛАУ вида ,Au C= (1) где матрица размерностью A ( )m m× , ( ) (1 2 1 2, , ... , , , , ... ,T T m mC c c c u u u u )= = − векторы размерностью . m Исследуем свойства компьютерной реализации алгоритма метода базисных матриц [4] для модели (1) в среде Visual С++ с использованием умножения длинных чисел методом Штрассена, который базируется на быстром преобра- зовании Фурье. Концепция представления целых чисел В современных ЭВМ, как правило, используются стандартные типы целых чисел, размер которых не превышает 64 байта. Преодоление такого аппаратного ограничения можно программным путем – разработкой собственного типа данных. Примером является класс longrat [4]. В разработанной на языке С++ библиотеке реализованы типы длинных целых чисел longint2 и соот- ветствующих рациональных чисел longrat3 с быстрыми операциями умножения, деления, построенных на современных алгоритмах. Для реализации длинных целых чисел произвольного размера и соответствующих рациональных чисел в С++ был использован объектно-ориентированный подход (ООП). Такой подход состоит в сопоставлении реальному объекту предметной области так называ- емого объектного типа или класса объектов, что является обобщением струк- турного типа [6]. Определение 1. Класс в С++ – это программная конструкция, которая состоит из данных (элементов данных или полей) и подпрограмм, которые оперируют над этими полями и описывают свойства соответствующего объекта предметной области, которая моделируется. В данной работе целое число произвольного размера запрограммировано в виде класса longint2. Рациональное число как пара (числитель класса longint2, знаменатель класса longint2) запрограммированное в виде класса longrat3. Целое число хранится в динамическом массиве, максимальная длина которого 4096. Элементами вектора есть 16-битные беззнаковые числа стандартного типа C++ unsigned __int16 и есть, фактически, ”цифрами” в системе исчисления с основой . Так, например, целое число из диапазона от 2162BASE = 32 до 264–1 будет храниться в массиве размером 3. Массив ”цифр”, знак числа и операции над числами такой структуры оформлены в виде класса longint2. В частности, в классе longint2 реализованы такие операции с целыми числами: сложение, вычитание, умножение, деление с остатком, сравнение, конвертация в строку символов типа char. 102 Компьютерная математика. 2009, № 2 О ТЕХНОЛОГИИ ДЛИННОЙ АРИФМЕТИКИ ПРИ ПОСТРОЕНИИ АЛГОРИТМОВ… Объявление класса longint2 class longint2 { public: unsigned __int16 *s; unsigned int l; longint2(); longint2(unsigned n); longint2(unsigned __int16 *p,int n); longint2(const char *s1); longint2(const char *s1,int n); longint2(const longint2 &a); longint2 operator=(const longint2 &a); ~longint2(); char* text(void); friend longint2 operator+(longint2 &a,longint2 &b); friend longint2 operator-(longint2 &a,longint2 &b); friend longint2 operator*(longint2 &a,longint2 &b); friend longint2 operator/(longint2 &a,longint2 &b); friend ostream& operator<<(ostream &os,const longint2 &a); friend istream& operator>>(istream &is,longint &a); friend longint2 karatsuba2(longint2 &u1,longint2 &u2,unsigned int n); friend longint2 tomakuka(longint2 &u1,longint2 &u2); friend longint2 fastmul2(longint2 &A, longint2 &B); friend __int8 divmod(longint2 &A, longint2 &B, longint2 &Q, longint2 &R) ; void mult2(int n); void mult(int m); void div(int m); friend int longcmp2(longint2 &a,longint2 &b); unsigned int toint(); void print(); void operator+=(longint2 &b); void operator-=(longint2 &b); void operator*=(longint2 &b); friend void savebint2(FILE *f,longint2& a); friend void loadbint2(FILE *f,longint2& a); friend longint2 ncd(longint2 a,longint2 b); Представление рациональных чисел Рациональное число представляется как пара: числитель и знаменатель типа longint2 и оформлено в виде класса longrat3. В данном классе также реализованы операции сложения, вычитания, умножения, деления, сокращения, сравнения, Компьютерная математика. 2009, № 2 103 В.И. КУДИН, С.И. ЛЯШКО, В.В. ОНОЦКИЙ представления в виде десятичного числа заданной точности, конвертации в тип double, конвертации в строку символов типа char. Операции ‘+’, ’–’, ’*’, ’/’ построены с использованием соответствующих операций над числами типа longint2. Эти классы были откомпилированы в виде динамической библиотеки и протестированы для точного решения систем линейных алгебраических уравнений. Объявление класса longrat3 class longrat3 { public: __int8 sign; longint2 num; longint2 denom; longrat3():num("0"),denom("1"){sign=0;} longrat3(char *s); longrat3(double d); longrat3(char *s1,char *s2); longrat3(const longrat3 &l1):num(l1.num),denom(l1.denom),sign(l1.sign){} longrat3& operator=(const longrat3 &a); friend ostream& operator<<(ostream &f,const longrat3 &a); void text(char *s);//return s as 'p/q'; friend void savebrat3(FILE *f,longrat3& a); friend void loadbrat3(FILE *f,longrat3& a); friend longrat3 operator+(longrat3 &a,longrat3 &b); friend longrat3 operator-(longrat3 &a,longrat3 &b); friend longrat3 operator*(longrat3 &a,longrat3 &b); friend longrat3 operator/(longrat3 &a,longrat3 &b); void operator+=(longrat3 &a); void operator-=(longrat3 &a); void operator*=(longrat3 &a); void operator/=(longrat3 &a); char* decimal(unsigned __int32 size); operator double(); friend __int8 longrabscmp(longrat3 &a,longrat3 &b); ~longrat3(){}; void reduce(void); }; Операции '+' и '–' реализованы по классическим алгоритмам сложения и вычитания; умножение и деление существенно улучшено по сравнению с тра- диционными алгоритмами умножения и деления в столбик и оптимизированы как по времени, так и по использованию ресурсов ЭВМ. 104 Компьютерная математика. 2009, № 2 О ТЕХНОЛОГИИ ДЛИННОЙ АРИФМЕТИКИ ПРИ ПОСТРОЕНИИ АЛГОРИТМОВ… Ускорение операций умножения и деление длинных чисел Арифметические операции с точными рациональными числами базируются на умножении длинных целых чисел. Для осуществления сокращения рациональных дробей необходимо деление длинного целого числа на длинное целое число. Умножение длинных целых чисел с использованием метода Штрассена и дискретного преобразования Фурье Произведение целых чисел и 1 0 1 1... n nA a a BASE a BASE − −= + + + 0B b= + в системе исчисления с основанием 1 1 1... m mb BASE b BASE − −+ + + BASE можно интерпретировать как произведение многочленов ( ) ( )1 1 0 1 1 0 1 1 0 1 1... ... ... ,n m n m n ma a x a x b b x b x c c x c x− − − − ++ + + + + + = + + + 1n m+ − − lb где – компоненты вектора – свертки векторов и . ic 0 1( , ,..., )na a a 0 1( , ,..., )mb b b Определение 2. Сверткой векторов и называется вектор с координатами a b c a b= ⊗ .i k k l i c a + = = ∑ Определение 3. Дискретное преобразование Фурье (ДПФ) вектора ( )0 1 1, ,..., Na a a − определяется как комплексный вектор с координатами ( )0 1 1, ,..., :Ny y y − 1 0 , N kj k j j y a − = = ω∑ где – главный комплексный корень -й степени из единицы ω N 2 2cos sini N N π π⎛ ⎞ω = +⎜ ⎟ ⎝ ⎠ . Замечание. Обратное дискретное преобразование Фурье ( )1ДПФ− можно вычислить по формуле 1 0 1 . N kj k j j a y N − − = = ω∑ Теорема о свертке [5]. Преобразование Фурье от свертки двух векторов есть скалярное произведение Фурье-образов этих векторов: ( ) ( )* ( ),c a b F c F a F b= ⊗ ⇔ = тогда ( )1 ( )* ( ) .c F F a F b−= Компьютерная математика. 2009, № 2 105 В.И. КУДИН, С.И. ЛЯШКО, В.В. ОНОЦКИЙ Вытекает, что для умножения длинных целых чисел и A B достаточно: вычислить коэффициенты свертки , 0,ic i n m 1= + − ; сделать переносы, чтобы все коэффициенты были меньше BASE . Теорема о свертке дает обоснование для построения эффективного алго- ритма вычисления коэффициентов свертки на шаге 1 с помощью ДПФ: 1. Вычислить ( )F a и ( )F b . 2. Скалярно перемножить полученные векторы. 3. Вычислить обратное ДПФ от скалярного произведения. Умножение многочленов сводится к скалярному произведению соответ- ствующих векторов. Предполагается, что на каждом шаге размеры векторов одинаковые и равные N. Сложность алгоритма умножения имеет порядок O(N logN). Наилучшее быстродействие достигается лишь для таких реализаций ДПФ, которые работают на векторах размером N=2k, поэтому векторы в таких ситуациях необходимо дополнить нулями. Деление Пусть число A=(a0, a1,…,an+m–1) необходимо разделить на B=(b0, b1,…, bn–1). Тогда алгоритм деления можно подать как последовательное выполнение деле- ний (n+1)-разрядной части A на n-разрядный делитель В. При этом -й шаг состоит из двух действий [6]: i определить і-ю цифру частицы q[i]; вычесть смещенное произведение [ ]B q i∗ из A. При этом сдвиг B относи- тельно A на каждом шаге уменьшается. Определение q[ i ] можно осуществлять таким образом. Пусть очередной шаг представляет собой деление некоторого U = (u0, u1,…,un) на B = (b0, b1,…, bn–1). Если bn–1 > BASE/2, то имеют место следующие факты [6]: 1) если положить qGuess = (un*BASE + un–1) / bn–1 , то qGuess–2 < q < qGuess, где q – верный результат деления U на B; 2) если же дополнительно выполняется неравенство qGuess*bn–2 > BASE*r + un–2 , где r = U – qGuess *B – остаток при нахож- дении qGuess и qGuess BASE, то qGuess–1 < q < qGuess, причем вероятность события qGuess = q+1 приблизительно равно 2/BASE. ≠ Таким образом, если bn–1 > BASE/2, то необходимо вычислить qGuess = = (un*BASE + un–1) / bn–1 и уменьшать qGuess на единицу до тех пор, пока не будет выполнено условие 2). Полученное значение будет или правильным частным q, или, с вероятностью 2/BASE, на единицу большим числом. Если же qGuess = q+1, будем использовать вычитание, которое вместо отрицательного числа даст дополнение к следующей степени основы BASE. Сложность алгоритма . (O nm) 106 Компьютерная математика. 2009, № 2 О ТЕХНОЛОГИИ ДЛИННОЙ АРИФМЕТИКИ ПРИ ПОСТРОЕНИИ АЛГОРИТМОВ… Решение СЛАУ МБМ с использованием усовершенствованного класса рационального числа longrat3 В работе [4] приведены основные стадии алгоритмической схемы нахождения величины ранга, начальной базисной матрицы и решения невырожденной системы (1) с рациональными элементами, которые базируются на технологии точных вычислений. По результатам приведенного алгоритма можно конструировать аналитическое представление общего решения СЛАН [4]. При решении СЛАУ [4] размерностью 50m = с матрицей Гильберта (1) 1 ( 1), 1, ; 1,ija i j i m j= + − = = m и единичной правой частью с использованием точных вычислений было получено точное решение. При этом время выполне- ния на ЭВМ (с процессором Athlon 1700+ с частотой 1400 МГц, оперативной памятью 256 Мбайт) составлял 507.9 с. Минимальный ведущий элемент равен 5.56135311E-59. Для СЛАУ с матрицей Гильберта размерностью и единичной правой частью время нахождения точного решения на ЭВМ соста- вило 6788.29 с [4], что медленнее, чем метод Гаусса с выбором максимального элемента. На других СЛАУ МБМ проявил себя лучше. В частности, для плохо обусловленных СЛАУ с коэффициентами 100m = (2) 1, при , , при , 1, при ij m i i j a m i i j m j i j − + >⎧ ⎪= − =⎨ ⎪ − + <⎩ и правыми частями , при 2, 1, при 2,ij m i i b m i i − ≤⎧ = ⎨ − + >⎩ временные параметры работы МБМ оказалась на порядок лучше, чем метода Гаусса: 1656.38 с и 9767.88 с. Этот вывод подтвердился и для модели размер- ностью . 100m = В результате экспериментов для СЛАУ с матрицей Гильберта (таблица) размерностью и единичной правой частью 100m = 1, 1,ib i= = m (с использо- ванием технологии метода Штрассена и быстрого преобразования Фурье) получены точные решения методом базисных матриц, которые совпадают также с результатами, приведенными в [4]. ТАБЛИЦА Метод базисных матриц Вектор ограничений Размер- ность (m) Минимальный ведущий элемент Время выполнения, с (1,1,…1)T 50 5.56135311E-59 494.359 (1,1,…1)T 60 0.1416498617E-70 538.922 (1,1,…1)T 100 0.708461361E-119 1498.48 (1,1,…1)T 120 0.8034028680E-143 3090.72 Компьютерная математика. 2009, № 2 107 В.И. КУДИН, С.И. ЛЯШКО, В.В. ОНОЦКИЙ Применение нового класса позволило (см. таблицу): ускорить вычисления в 2,5 раза ( СЛАУ с матрицей Гильберта размерностью 100 была решена МБМ в точных числах за 1498.48 секунд, тогда как со старым классом на той самой ЭВМ время выполнения составляло 3731.94 с для ЭВМ: AMD Athlon(tm) 64X2 Dual Core Processor 4200+, 2.21 Ггц, 1 ГБ ОП); решать плохо обуслов- ленные СЛАУ большей размерности. В.І. Кудін, С.І. Ляшко, В.В. Оноцький ПРО ТЕХНОЛОГІЮ ДОВГОЇ АРИФМЕТИКИ ПРИ ПОБУДОВІ АЛГОРИТМІВ ДОСЛІДЖЕННЯ ЛІНІЙНИХ СИСТЕМ Досліджено властивості комп'ютерної реалізації алгоритму методу базисних матриць для системи лінійних алгебраїчних рівнянь у середовищі Visual С++ з використанням множення довгих чисел методом Штрассена, що базується на швидкому перетворенні Фур'є. Наведено результати комп’ютерної реалізації на матрицях Гільберта різної розмірності. V.I. Kudin, S.I. Ljashko, V.V. Onotsky ADVANCEMENT OF LONG ARITHMETICS TECHNOLOGY IN ALGORITHMS FOR LINEAR SYSTEM ANALYSIS New algorithm and computer implementation with Microsoft Visual C++ environment of base matrice method using Schtrassen multiplication of long numbers and fast Fourier transformations are proposed. Computation experiment results for this method for test models with Gilbert matrices in various dimensions are presented. 1. Форсайт Дж., Молер К. Численное решение систем линейных алгебраических уравнений // Пер. с англ. – М.: Мир, 1969. – 168 с . 2. Воеводин В.В. Вычислительные основы линейной алгебры. –М.: Наука, 1977. – 303 с. 3. Самарский А.А., Гулин А.В. Численые методы. – М.: Наука, 1989. – 432 с. 4. Застосування технології довгої арифметики при побудові алгоритмів дослідження лінійних систем / В.І. Кудін, С.І. Ляшко, В.В. Оноцький та ін. // Журн. обчислювальної та прикладної математики. – 2007. – 1(94). – C. 61–69. 5. Кнут Д. Искусство программирования: 3-е изд. – 2001. – 2. – С. 337–343. 6. Кантор Илья. Большие числа и операции с ними. http://algolist.manual.ru-2002 Получено 24.04.2009 Îá àâòîðàõ: Кудин Владимир Иванович, доктор технических наук, старший научный сотрудник Киевского национального университета имени Тараса Шевченка, Ляшко Сергей Иванович, член-корреспондент НАН Украины, профессор, доктор физико-математических наук, заведующий кафедрой Киевского национального университета имени Тараса Шевченка, Оноцкий Вячеслав Валериевич, ассистент Киевского национального университета имени Тараса Шевченка. 108 Компьютерная математика. 2009, № 2 http://algolist.manual.ru/ Получено 24.04.2009
id nasplib_isofts_kiev_ua-123456789-84552
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn ХХХХ-0003
language Russian
last_indexed 2025-12-02T02:49:36Z
publishDate 2009
publisher Інститут кібернетики ім. В.М. Глушкова НАН України
record_format dspace
spelling Кудин, В.И.
Ляшко, С.И.
Оноцкий, В.В.
2015-07-10T11:35:24Z
2015-07-10T11:35:24Z
2009
О технологии длинной арифметики при построении алгоритмов исследования линейных систем / В.И. Кудин, С.И. Ляшко, В.В. Оноцкий // Компьютерная математика. — 2009. — № 2. — С. 101-108. — Бібліогр.: 6 назв. — рос.
ХХХХ-0003
https://nasplib.isofts.kiev.ua/handle/123456789/84552
519.852:519.876
Предложен новый алгоритм и компьютерная реализация метода базисных матриц в среде Visual С++ с использованием метода Штрассена умножения длинных чисел и быстрого преобразования Фурье. Приведены результаты вычислительного эксперимента, в котором тестовые модели систем генерировались на основе матриц Гильберта разной размерности.
Досліджено властивості комп'ютерної реалізації алгоритму методу базисних матриць для системи лінійних алгебраїчних рівнянь у середовищі Visual С++ з використанням множення довгих чисел методом Штрассена, що базується на швидкому перетворенні Фур'є. Наведено результати комп’ютерної реалізації на матрицях Гільберта різної розмірності.
New algorithm and computer implementation with Microsoft Visual C++ environment of base matrice method using Schtrassen multiplication of long numbers and fast Fourier transformations are proposed. Computation experiment results for this method for test models with Gilbert matrices in various dimensions are presented.
ru
Інститут кібернетики ім. В.М. Глушкова НАН України
Компьютерная математика
Вычислительный эксперимент
О технологии длинной арифметики при построении алгоритмов исследования линейных систем
Про технологію довгої арифметики при побудові алгоритмів дослідження лінійних систем
Advancement of long arithmetics technology in algorithms for linear system analysis
Article
published earlier
spellingShingle О технологии длинной арифметики при построении алгоритмов исследования линейных систем
Кудин, В.И.
Ляшко, С.И.
Оноцкий, В.В.
Вычислительный эксперимент
title О технологии длинной арифметики при построении алгоритмов исследования линейных систем
title_alt Про технологію довгої арифметики при побудові алгоритмів дослідження лінійних систем
Advancement of long arithmetics technology in algorithms for linear system analysis
title_full О технологии длинной арифметики при построении алгоритмов исследования линейных систем
title_fullStr О технологии длинной арифметики при построении алгоритмов исследования линейных систем
title_full_unstemmed О технологии длинной арифметики при построении алгоритмов исследования линейных систем
title_short О технологии длинной арифметики при построении алгоритмов исследования линейных систем
title_sort о технологии длинной арифметики при построении алгоритмов исследования линейных систем
topic Вычислительный эксперимент
topic_facet Вычислительный эксперимент
url https://nasplib.isofts.kiev.ua/handle/123456789/84552
work_keys_str_mv AT kudinvi otehnologiidlinnoiarifmetikipripostroeniialgoritmovissledovaniâlineinyhsistem
AT lâškosi otehnologiidlinnoiarifmetikipripostroeniialgoritmovissledovaniâlineinyhsistem
AT onockiivv otehnologiidlinnoiarifmetikipripostroeniialgoritmovissledovaniâlineinyhsistem
AT kudinvi protehnologíûdovgoíarifmetikipripobudovíalgoritmívdoslídžennâlíníinihsistem
AT lâškosi protehnologíûdovgoíarifmetikipripobudovíalgoritmívdoslídžennâlíníinihsistem
AT onockiivv protehnologíûdovgoíarifmetikipripobudovíalgoritmívdoslídžennâlíníinihsistem
AT kudinvi advancementoflongarithmeticstechnologyinalgorithmsforlinearsystemanalysis
AT lâškosi advancementoflongarithmeticstechnologyinalgorithmsforlinearsystemanalysis
AT onockiivv advancementoflongarithmeticstechnologyinalgorithmsforlinearsystemanalysis