Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование и разработка объектно-ориентированного матричного обеспечения Тарлапан, Олег Анатольевич

Данная диссертационная работа должна поступить в библиотеки в ближайшее время
Уведомить о поступлении

Диссертация, - 480 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Тарлапан, Олег Анатольевич. Исследование и разработка объектно-ориентированного матричного обеспечения : автореферат дис. ... кандидата физико-математических наук : 05.13.11 / Ин-т системного программирования.- Москва, 1998.- 26 с.: ил. РГБ ОД, 9 98-7/3138-9

Введение к работе

Имеющиеся сегодня математические библиотеки и пакеты линейной алгебры являются в основном результатом довольно продолжительной эволюции процедурного программирования.

В настоящее время все более весомой альтернативой традиционным процедурным методам становится объектно-ориентированный подход (ООП), получивший широкое распространение как мощная, динамично развивающаяся программная методология. Такие характерные черты, как высокая концептуальная целостность, высокая степень структуризации программного обеспечения (ПО), разработанного с его применением, а также сочетание гибкости программирования со строгой дисциплиной проектирования, сделали ООП особенно популярным при разработке сложных программных систем. Использование ООП приводит прежде всего к более надежной и быстрой разработке программ, а также к более широким эволюционным возможностям ПО при создании новых программных систем. В условиях постоянно растущей сложности разрабатываемого ПО эти факторы оказываются решающими.

Роль объектных технологий в настоящий момент достаточно хорошо осознала. В последнее десятилетие ООП интенсивно используется при проектировании и создании операционных систем, сложных систем визуализации, баз данных. Значительно меньше внимания в этой области уделяется математическим библиотекам и системам, ориентированным на решение численных задач. До сих пор наиболее употребительным языком для вычислительных приложений считается Фортран. Многообразие математических библиотек, разрабатывавшихся на протяжении последних іридцати лет с применением процедурной технологии является одним из основных факторов, сдерживающих широкое использование объектных технологий при разработке математического программного обеспечения.

Принципы создания и особеЕпгости вігутренней организации существующих сегодня математических библиотек и пакетов линейной алгебры (ЛА) отражают прежде всего их проблемную и методическую ориентацию. Так, пакеты LAPACK, UNPACK и EISPACK реализуют прямые методы решения линейных систем и проблем собственных значений с плотными матрицами, пакет ITPACK предназначен для решения линейных проблем итеративными методами, программы ELLPACK ориентированы на работу со структурными матрицами, возникающими в результате разностной дискретизации эллиптических дифференциальных задач, возможности пакета SPARSPAK ограничены, главным образом, хаотически разреженными матрицами и т. п. Задание данных ограничений на тип матрицы и набор методов позволяет повысить эффективность решения поставленной задачи, но, в определенной степени, препятствуют дальнейшему развитию пакетов и библиотек и адаптации их к новым программным приложениям.

При решении ряда современных задач появляется необходимость совместить в рамках одного приложения возможность применения существенно различных форматов матричного представления. К подобным задачам могут быть отнесены задачи математической физики, а также задачи моделирования дискретных технических систем с нерегулярной топологией. Различная природа исходной задачи порождает существенно различные формы матричного заполнения, в частности, плотное, ленточное, блочное, хаотическое. Особо следует подчеркнуть, что в большинстве случаев сведения о характере матричной разреженности и размерности появляются непосредственно в процессе решения задачи. Для того, чтобы реализовать такой сценарий, соответствующая система должна уметь изменять формат матричного представления динамически, непосредственно в процессе моделирования. Проектирование подобной системы с использованием существующих пакетов сопряжено с существенными трудностями. Необходимость одновременной поддержки нескольких матричных форматов для представления разреженных матриц требует интеграции в рамках одного приложения нескольких библиотек, имеющих различные принципы функционирования, путем явного преобразования матричных форматов библиотек к системному представлению. Все, сказанное выше в отношении поддержки различных форм матричной разреженности, в равной степени относится и к набору методов работы с матрицами.

Результатом данной диссертационной работы является объектно-ориентированная математическая библиотека.

Целью работы является исследование возможностей применения ООП к программированию задач и методов линейной алгебры и разработка объектно-ориентированной математической библиотеки, допускающей работу с существенно различными матричными объектами при использовании широкого набора методов линейной алгебры. Главное внимание при проектировании библиотеки уделялось обеспечению ее широких инструментальных возможностей, обеспечивающих ее дальнейшее развитие и адаптацию к новым программЕшм приложениям.

Необходимость создания сложных вычислительных приложений в конкретных предметных областях требует создания современных, универсальных, легко расширяемых и адаптируемых программных средств для решения задач ЛА. Актуальной в связи с этим является разработка соответствующей объектно-ориентированной библиотеки, которая, кроме своего непосредственного назначения, предоставляла бы необходимые инструментальные возможности. Это позволило бы естественным образом расширять набор форматов и методов с использованием механизмов объектного программирования, а также адаптировать средства библиотеки к решению частных задач в конкретных прикладных областях. Существенно, что предлагаемые методики применения ООП позволяют, с одной стороны, унифицировать и упростить разработку конкретных вычислительных при-

ложений на основе библиотеки, а с другой стороны, добиться высокой эффективности решения конкретных прикладных задач практически на уровне процедурного программирования.

Разработка математической библиотеки классов отражает тенденции создания современного ПО на основе объектно-ориентированных технологий.

В работе получены следующие новые научные результаты:

проведен объектный анализ, в результате которого разработана объектная классификация векторов, общих, элементарных и специальных матриц, методов и алгоритмов ЛА, допускающая непосредственные программные реализации;

предложена и реализована методика унифицированной реализации векторно-организованных матричных классов в виде шаблонов для оперирования наиболее распространенными разреженными матричными форматами;

разработана и апробирована методика реализации векторных и матричных операций с использованием техники псевдоиндексного итерирования;

разработана и апробирована методика унифицированной эффективной реализации пакета BLAS (Basic Linear Algebra Subroutines) в виде библиотеки шаблонов, инвариантной по отношению к различным форматам разреженности;

предложена и реализована методика объектной реализация прямых методов ЛА в виде композиций матричных преобразований с использованием технологии элементарных матриц.

Практическая значимость работы состоит в возможности непосредственного использования реализованной матричной объектно-ориентированной библиотеки при разработке различных вычислительных приложений, а также в возможности использования предложенных и апробированных методик программирования при проектировании и разработке матричного ПО. Унифицированный дружественный интерфейс библиотеки и широкие инструментальные возможности существенно упрощают ее интеграцию с прикладными системами. Разработанная библиотека апробирована при проектировании и реализации интерактивной объектно-ориентированной математической системы и при создании рабочих прототипов объектно-ориентированных CAD/САМ систем.

Апробация работы. Проектирование и разработка библиотеки проводились в рамках проектов Российского фонда фундаментальных исследований и республиканской научно-технической программы "Информатизация России" Министерства науки Российской Федерации. Материалы диссертации докладывались на международной конференции "САПР" (г. Гурзуф, 1995), международной конференции "Новые информационные технологии в

науке, образовании и бизнесе" (г. Гурзуф, 1996), обсуждались на семинарах Института системного программирования РАН, Института прикладной математики им. М.В. Келдыша РАН, Научно-исследовательского вычислительного центра МГУ им. М.В. Ломоносова.

Публикации. По теме диссертации опубликовано 5 работ, тексты работ также доступны по сети Internet.

Похожие диссертации на Исследование и разработка объектно-ориентированного матричного обеспечения