Abstract: in this paper the questions of extremal shift method application for solution of some reconstruction and dynamic systems control problems are discussed; in particular, the algorithm of unknown input reconstruction in linear system at some phase coordinates measuring is shown.
Keywords: control; reconstruction; extremal shift.
Ключевые слова: параллельная компьютерная алгебра; строение классов; структуры данных; внешняя память.
Аннотация: Описывается новый проект параллельной компьютерной алгебры; две главные особенности этого проекта - это новая структура классов и новые структуры данных, которые предназначены для хранения данных во внешней памяти; особое внимание уделяется параллельному ядру системы.
1. Введение
Одной из очень важных задач, стоящих сегодня перед человечеством, является задача сохранения и применения накопленных знаний. В первую очередь это относится к естествознанию и техническому знанию.
Как известно, языком естествознания, а вместе с ним и всего технического знания, является математика. Поэтому главной задачей всей той компьютерной науки, которая ориентирована на естествознание и технику, является задача сохранения и применения математического знания.
Существующие сегодня математические пакеты отражают состояние решения этой задачи на данный момент. Эти пакеты делятся на два класса численные пакеты и символьные или аналитические пакеты, которые еще называют системами компьютерной алгебры. Признанным лидером в этом классе систем компьютерной алгебры является система “Mathematica” компании Wolfram Research, за ней следуют MAPLE, Magma, MACSYMA, AXIOM (IBM), REDUCE, CoCoA, Macaulay, SINGULAR и др.
1Работа выполнена при поддержке программы "Развитие потенциала высшей школы" (проект 2.1.1/1853) и Темплана 1.12.09.
Максимов Вячеслав Иванович д. ф.-м. н., профессор Институт математики и механики УрО РАН
Россия, Екатеринбург e-mail: [email protected]
Vyacheslav Maksimov
doctor of phys.-math. sciences, professor
Institute of Mathematics and Mechanics
of UrD RAS
Russia, Ekaterinburg
e-mail: [email protected]
УДК 519.85
© Г. И. Малашонок
Численные пакеты направлены на получение численного решения инженерных задач. Системы компьютерной алгебры направлены на поддержку системы математического знания и на решение задач в аналитическом виде. Конечно, сегодня системы компьютерной алгебры поддерживают и численное решение задач, они стараются вобрать в себя все то, что делают численные пакеты. И наоборот, численные пакеты стремятся включить аналитические вычисления.
Современные системы компьютерной алгебры разрабатывались для однопроцессорных ЭВМ, и их архитектура ориентирована на последовательный процесс вычислений. Если сравнивать их с численными пакетами, то они существенно проигрывают по масштабам задач, которые могут быть решены.
Существенным достижением являются численные пакеты LAPAC и ScaLAPAC, которые поддерживают численные библиотеки процедур для задач линейной алгебры и которые ориентированы на проведение вычислений на суперЭВМ. Однако для масштабных задач, решаемых на суперЭВМ, главная проблема численных вычислений - проблема накопления ошибок, проявляется еще сильнее.
Необходимо создание системы компьютерной алгебры, которая была бы ориентирована на параллельные вычисления с применением суперЭВМ.
2. Первый проект параллельной компьютерной алгебры
В течение пяти лет работа по созданию системы параллельной компьютерной алгебры ведется в Тамбовском университете. Была получена большая коллекция классов для основных объектов, таких как числа, полиномы, матрицы, функции. Было проведено большое число экспериментов как на 16-процессорном Myrinet кластере Тамбовского университета, так и на 4000-процессорном кластер Российской академии наук (Joint Supercomputer Center JSCC), благодаря сотрудничеству с этой организацией и с Институтом системного программирования РАН.
Эти эксперименты продемонстрировали возможности кластеров получать ускорения для операций матричного и полиномиального умножения более чем на 70%, а ускорения для матричных операций обратного отображения - более чем на 30%. Мы считаем, что ускорение равно 100%, если реальное время для выполнения некоторой операций уменьшается в п раз при увеличении числа процессоров в кластере в п раз. Для тех же блоков алгоритма, где используется CRT параллелизм, ускорение может приближаться к своему теоретическому пределу — 100%.
Разработанные пакеты программ и эксперименты показывают возможность успешного создания параллельной системы компьютерной алгебры. Такая система может быть действительно эффективной, если развивать заложенные в этих параллельных программах идеи.
С другой стороны, назрела необходимость пересмотра свода созданных программ. Это связано с двумя проблемами.
Первая проблема - это проблема наличия усложненной классовой структуры. С самого начала была выбрана стратегия на создание независимых числовых классов над простыми типами данных. Это было сделано в связи с тем, что при этом предполагался выигрыш во времени вычислений. Для этого приходилось иметь копии многих алгоритмов для разных числовых колец. Но как показали позже эксперименты с новыми версиями операционных систем, большого выигрыша от повсеместного использования простых типов данных вместо объектов не происходит.
Вторая проблема - это необходимость использования больших и сверхбольших объектов данных. Изначально же каждый объект, который создавался во время вычислений, должен был помещаться целиком в оперативную память. Но для большой кластерной машины нужно иметь объекты, которые имеют гораздо больший объем. Только в этом случае можно будет использовать все преимущества кластерной машины.
3. Новый проект
Все это привело к тому, что в конце 2008 года стал разрабатываться новый проект параллельной компьютерной алгебры. Две главные особенности этого проекта - это новая классовая структура и новые структуры данных, которые предназначены для хранения во внешней памяти.
КЛАСС СКАЛЯРОВ
Главный абстрактный класс в новом проекте - это класс Scalar. Абстрактные методы в данном классе предназначены для задания всех возможных операций со скалярами.
Существуют методы: add, subtract, multiply, divide, power, GCD, extendedGCD, mod, modlnvers, modPower, divideAndRemainder, random, семейство методов типа valueOf, которые предназначены для создания определенных типов скаляров. В этом классе нет динамических полей.
Наследниками класса скаляров являются классы, которые образуют несколько подмножеств. Существуют подмножества чисел, полиномов, рациональных функций и трансцендентные функций.
ЧИСЛОВЫЕ КЛАССЫ
Всего имеется 12 классов для чисел.
Существует 6 точных числовых классов и 6 приближенных числовых класса. Набор точных числовых классов составляют классы Z, Q, Cz, Cq, Zp и Zp32. Здесь обозначено:
Z - целые числа;
Q - рациональные числа;
Cz = {a + ib : a,b E Z,i2 = —1} - кольцо целых комплексных чисел;
Cq = {a + ib : a,b E Q,i2 = —1} - поле рациональных комплексных чисел;
Zp = Z/pZ — простое поле характеристики p;
Zp32 = Z/pZ - простое поле, у которого характеристика не превосходит 231 — 1 - максимального положительного числа в четырехбайтном слове. Последний класс чисел часто используется в приложениях компьютерной алгебры, так как позволяет существенно ускорить вычисления по сравнению с Zp.
Существует 6 классов для приближенных чисел: R, C, R64, C64, R128 и C128. Здесь мы используем следующие обозначения:
R64
действительных чисел ]
R
произвольной мантиссой;
R128
стандартной 52-разрядной мантиссой и отельным 32-разрядным полем для хранения порядка.
Три комплексных класса C, C64 и C128 образованы из классов R, R64 и R128, обычным путем.
ПОЛИНОМИАЛЬНЫЙ КЛАСС
Класс полиномов многих переменных только один. В зависимости от того, в каком из числовых классов находятся коэффициенты полиномов, может быть 12 типов полиномов. С одной стороны, этот класс является наследником класса скаляров, с другой - коэффициенты полиномов являются скалярами любого числового вида.
КЛАСС ДРОБЕЙ
Класс дробей является наследником класса скаляров. У него есть два динамических поля скалярного типа для числителя и знаменателя дроби. Дочерним классом для дробей служит класс Q Cq
Q Z Cq
поля в этих классах наследуются из класса дробей.
КЛАСС РАЦИОНАЛЬНЫХ ФУНКЦИЙ
Класс рациональных функций является дочерним по отношению к классу дробей. Числители и знаменатели рациональной функции — полиномы. Собственных динамических полей у него нет, а наследуются поля класса дробей.
КЛАСС ТРАНСЦЕНДЕНТНЫХ ФУНКЦИЙ
Это класс композиций трансцендентных функций, аргументами которых являются полиномы. Такой класс один, но так как может быть 12 типов полиномов, следовательно, всего имеется 12 типов функций.
Всего имеется 60 разных типов скаляров: 12 числовых классов и по 12 различных типов полиномов, рациональных функций и трансцендентных функций. Предстоит еще реализовать еще один скалярный класс - класс числовых рядов.
КЛАСС МАТРИЦ
Классы Matrix, Vector и Tensor должны иметь скалярные типы элементов. Основные матричные методы: adjoint, det, kernel, echelonForm, inverse. Основным методом является рекурсивный блочный метод adjDet. Этот метод возвращает определитель матрицы вместе с присоединенной и эшелонной матрицей. Ядро линейного оператора вычисляется исходя из эшелонной матрицы. Обратная матрица вычисляется с помощью присоединенной матрицы и определителя. СТРУКТУРЫ ДАННЫХ ДЛЯ ВНЕШНЕЙ ПАМЯТИ
В настоящее время создаются классы файловых матриц и файловых полиномов. Эти новые классы позволят хранить большие объекты (матрицы и полиномы), которые не помещаются в оперативную память и ориентированы на параллельные вычисления.
4. Заключение
Современное состояние нового проекта позволяет выполнять полиномиальные вычисления, включая вычисление базисов полиномиальных идеалов по Фужеру, производить некоторые упрощения композиций функций, выполнять факторизацию полиномов одной переменной по Берлекэмпу, решать задачи линейной алгебры для матриц со скалярными элементами, решать системы линейных дифференциальных уравнений с постоянными коэффициентами, используя преобразования Лапласа.
Параллельное ядро системы составляют параллельные алгоритмы матричного умножения и матричного обращения. При этом, для вычисления обратной матрицы, вычисляется присоединенная матрицы и определитель. Одновременно вычисляется и эшелонная форма матрицы. По эшелонной форме просто строится ядро соответствующего линейного оператора. Созданы и алгоритмы параллельного полиномиального умножения.
Примерно к концу 2010 года планируется организовать доступ к данной системе для всех желающих произвести вычисления на кластере с использованием данной системы параллельной компьютерной алгебры.
ЛИТЕРАТУРА
1. Малашопок Г.И., Авитесян А.И., Валеев Ю.Д., Зуев М.С. Параллельные алгоритмы компьютерной алгебры // Труды Института системного программирования. 2004. Т. 8. Ч. 2, 1004. С. 169-180.
2. Malaschonok G.I. In the Direction of Parallel Computer Algebra System // Computer Science and Information Technologies. Proc. Conf. Sept. 19-23, 2005. Acad. Sei. of Armenia. Yerevan, 2005. P. 451-453.
3. Малашопок Г. И. Об одном подходе к построению параллельной системы компьютерной алгебры / / Дифференциальные уравнения и системы компьютерной алгебры. Сб. научн. статей международной конф. Брест, 5-8 септ. 2005. Ч. 1. Минск, БГПУ, 2005. С. 306-307.
4. Малашопок Г.И. О параллельной конструктивной математике // Международная научная конференция "Современное математическое образование и проблемы истории и методологии математики". Тамбов, 2008. С. 194-195.
5. Малашопок Г.И., Валеев Ю.Д. Организация параллельных вычислений в рекурсивных символьно-численных алгоритмах // Труды конференции ПаВТ’2008 Санкт-Петербург. Челябинск: Изд-во ЮУрГУ, 2008. С. 153-165.
Abstract: there is described a new project of parallel computer algebra; the main two features of this project are a new class structure and a new data structure intend for storage data in external memory; a special attention is paid to the parallel kernel of the system.
Keywords: parallel computer algebra; class structure; data structure; external memory.
Малашонок Геннадий Иванович д. ф.-м. н., профессор
Тамбовский государственный университет им. Г.Р. Державина Россия, Тамбов e-mail: [email protected]
Gennadi Malaschonok
doctor of phys.-math. sciences, professor
Tambov State University named after
G.R. Derzhavin
Russia, Tambov
e-mail: [email protected]
УДК 517.9
AN ALGORITHM FOR SYMBOLIC SOLVING OF DIFFERENTIAL EQUATIONS
AND ESTIMATION OF ACCURACY 1
© N. Malaschonok
Keywords: systems of differential equations; Laplace transform; preassigned accuracy.
Abstract: An algorithm for solving systems of differential equations, based on Laplace transform method is produced. An algorithm to compute the error of calculations sufficient to obtain the preassigned accuracy of solution of linear differential equations system is included.
An algorithm for solving systems of differential equations, based on Laplace transform method is produced. There considered ordinary linear differential equations with constant coefficients, nonzero initial conditions and right-hand parts as composite functions, reducible to the sums of exponents with the polynomial coefficients.
An algorithm to compute the error of calculations sufficient to obtain the preassigned accuracy of solution of linear differential equations system is included.
Present-day computer systems provide an equipment for solving of differential equations. If they deal with numerical methods, there many algorithms to estimate an error of obtained approximate solutions. If it concerns symbolic algorithms it can hardly be found many attempts to find such estimations as it is customary to presume an exact character of analytic solving. But nearly each symbolic algorithm of solving contains numerical components or is based on approximation of participating functions or other mathematical structures by series, products, sequences, etc. It is necessary to guarantee an adequate accuracy in this case as well.
An algorithm, which is produced in this article, is based on the application of the Laplace transform method for solving differential equations systems. This method provides the symbolic character of computations. However there exists a fragment of numerical calculations. It concerns the computing
1Работа выполнена при поддержке программы "Развитие потенциала высшей школы" (проект 2.1.1/1853).