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



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

Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Кинцель Дмитрий Александрович

Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений
<
Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

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

Кинцель Дмитрий Александрович. Разработка методов и комплекса программ безошибочных вычислений для решения плохо обусловленных систем линейных алгебраических уравнений : Дис. ... канд. физ.-мат. наук : 05.13.18 : Саратов, 2004 107 c. РГБ ОД, 61:04-1/734

Содержание к диссертации

Введение

1. Анализ ошибок 8

1.1. Относительные и абсолютные ошибки 10

1.2. Ошибки содержащиеся в исходной информации 11

1.3. Ошибки ограничения 13

1.4. Ошибки округления 14

1.5. Устойчивость и обусловленность систем нормальных уравнений число обусловленности 18

2. Методы вычислений 26

2.1. Использование формул крамера 26

2.2. Прямое обращение матрицы 27

2.3. Метод последовательного исключения (гаусса) 28

2.4. Методразложенияхолецкого 32

2.5. Метод разложения по сингулярным числам 34

2.6. Оценивание коэффициентов с помощью полиномов чебышева 36

3. Решение задачи нахождения параметров параболической регрессии 43

3.1. Постановка и решение задачи 44

3.2. Одномодульная система вычетов 47

3.3. Расширенный алгоритм евклида 51

3.4. Комбинированный метод решения зада чи и сравнение методов 58

4. Заключение 64

5. Литература 65

Приложение 77

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

Актуальность исследования. В настоящее время любой инженерный расчет немыслим без использования ЭВМ. С развитием технических возможностей компьютеров соответственно расширяется и область их применения, охватывающая все большую сферу инженерных задач. Существует достаточное количество пакетов прикладных программ, которые широко применяются специалистами, ориентированных на решения как самых общих, так и специализированных инженерных задач [38, 40, 137]. Однако вычисления в машинной арифметике отличаются от арифметики «карандаша и бумаги». В ручных вычислениях промежуточные результаты непосредственно доступны для обозрения, и точность вычислений можно изменить в соответствии с требованием момента [53]. В машинной арифметике каждое число имеет фиксированное количество разрядов, которого в ряде случаев недостаточно для получения приемлемой точности [6]. Также ручные вычисления обычно не бывают длинными, тогда как машинный процесс вычислений может состоять из миллионов шагов [89]. Ничтожно малые ошибки, которыми в коротком вычислении можно было бы пренебречь, накапливаясь в протяженном процессе, могут приводить к разрушительным последствиям. Кроме этого, методы, вполне удовлетворительные для задач малой размерности, могут быть неэффективными для задач больших размерностей этого же типа [39].

Одной из задач, наиболее часто встречающихся в научных вычислениях, - решение системы линейных уравнений [121]. К линейным уравнениям приводят многие приложения [42, 140]. Также линейные уравнения могут возникать и опосредованно, как шаг в решении более сложной проблемы [15, 141]. Системы нелинейных уравнений, решают, используя последовательность линейных приближений, что порождает последовательность линейных

систем [34, 88, 136]. При решении краевых задач для дифференциальных уравнений часто ограничиваются поиском решения только в конечном множестве точек, что во многих случаях ведет к системам линейных уравнений [87].

Для целого класса задач, которые относятся к плохо обусловленным, точное решение не может быть получено на компьютере традиционными способами, которые обычно используются в стандартном математическом обеспечении [8]. В этом случае некорректность решения обусловливается архитектурой ЭВМ, формой представления информации, и не зависит, например, от производительности или объема памяти. Любая цифровая ЭВМ является конечной машиной, так как она способна представлять конечное множество чисел. Поэтому в общем случае множество вещественных чисел R, которое является бесконечным, не представимо в компьютере. Точность представления таких чисел на ЭВМ зависит от размера разрядной сетки, используемой для вычислений. По этой причине при решении практически любой реальной задачи на ЭВМ возникают ошибки округления. При решении плохо обусловленных задач такие ошибки могут приводить к катастрофическому искажению результата решения [70].

Чтобы избежать ошибок связанных с машинным округлением в работе предлагается использовать системы, которые свободны от ошибок округления [31]. Примером таких систем являются одномодульные системы вычетов. Общая идея состоит в том, что рациональные числа с помощью метода, основанного на расширенном алгоритме Евклида, переводятся во множество целых чисел 1т (прямое отображение). Все действия производятся во множестве целых чисел, а результаты приводятся по модулю т. Конечные результаты с помощью обратного отображения переводятся из множества целых чисел во множество рациональных. Вычисления, основанные на таких системах, называются «безошибочными», или их эквивалентом - «точные вычисления» (exact computation) [31]. Основной проблемой использования

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

Для установления однозначного соответствия необходимо иметь дополнительную информацию о искомом решении [44]. В данной работе предлагается комбинированный алгоритм нахождения решения в поле рациональных чисел, основанный на одномодульной системе вычетов. Этот алгоритм основан на итерационном методе исключения и включает в себя как методы безошибочного вычисления, так и обычную арифметику ЭВМ. Обычная конечно-разрядная арифметика используется для определения области решения, а безошибочные вычисления для точного нахождения оценки в этой области.

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

Для достижения поставленной цели в работе сформулированы следующие задачи:

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

- составить алгоритмы различных методов для ЭВМ, использующих одно-
модульную систему вычетов и конечно-разрядную арифметику для реше
ния плохо обусловленных систем линейных алгебраических уравнений;

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

Научную новизну диссертационной работы составляют результаты теоретических и экспериментальных исследований: -на основе анализа существующих методов решения систем нормальных уравнений, для различных диапазонов изменения исходных данных, предложен метод безошибочных вычислений на основе одномодульной арифметики;

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

Практическую значимость имеют:

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

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

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

- материалы работы использованы в учебном процессе для подготовки спе
циальности 220200 «Автоматизированные системы обработки информа
ции и управления» в Саратовском государственном техническом универ
ситете.

На защиту выносятся:

-комбинированный метод для решения плохо обусловленных систем линейных уравнений, сочетающий в себя безошибочные вычисления и обычную конечно-разрядную арифметику ЭВМ;

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

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

Апробация работы. Основные теоретические положения и практические результаты работы обсуждались и докладывались на: И. Всероссийской научно-практической конференции «Современные технологии в обучении и производстве», 2003 г., г. Камышин, XVI международной научной конференции «Математические методы в технике и технологиях "ММТТ-ДОН"», 2003 г., г. Ростов-на-Дону, III Всероссийской научно-технической конференции «Проблемы информатики в образовании, управлении, экономике и технике» (ВК-73-93), 2003 г., г. Пенза.

Публикации. По теме диссертации опубликовано 6 печатных работ.

Структура и объем работы. Диссертационная работа состоит из введения, трех глав, заключения, списка использованной литературы из 141 наименования; содержит 2 рисунка, 6 таблиц, 3 приложения, комплекс программ.

Ошибки содержащиеся в исходной информации

В процессе численного решения поставленной задачи приходится иметь дело с тремя основными видами ошибок: ошибками, содержащимися в исходной информации, ошибками возникающими при ограничении бесконечного математического процесса конечным числом операций (ошибки ограничения), и ошибками возникающими в результате необходимости представлять число в виде конечной последовательности цифр (ошибки округления) [11]. Каждую из этих ошибок можно представить в абсолютной и относительной форме.

Ошибки в исходной информации возникают в результате неточности измерений, грубых просмотров, импульсных помех или из-за невозможности представить необходимую величину конечной дробью [128].

Всякое физическое измерение, будь то измерение расстояния, напряжения или интервала времени, не может быть выполнено абсолютно точно. Если, например, указано что величина напряжения составляет 6.48375652937 в, то можно с уверенностью сказать, что по меньшей мере несколько младших значащих цифр недостоверны, потому что класс точности приборов, применяемых в технике не может обеспечить измерение напряжения с такой точностью [129]. Если же результат экспериментальный результат содержит небольшое количество значащих цифр (например, промежуток времени в 2.3 сек), то можно быть абсолютно уверенным в том, что эта величина дана с некоторой ошибкой, так как лишь случайно величина интервала времени может составить в точности 2.3 сек. В таких случаях подразумеваются некоторые границы, внутри которых эта величина должна находиться, зависящие от класса точности прибора, применяемого для измерений [45], например, 2.3 ±0.1 сек.

Если для экспериментального результата не указаны его возможные границы, то оценка имеет точность половины единицы младшего разряда. Поэтому если дано, что некоторая длина равна 5.63 см, то следует понимать так, что эта длина не меньше 5.625 и не больше 5.635 см.

Независимо от количества значащих цифр в какой-либо величине, в ней может содержаться грубая ошибка. Грубые ошибки могут возникать от опечаток, от ошибочного отсчета показаний прибора, импульсной помехи, хотя встречаются иногда и такие ошибки, возникновение которых связано с некорректной постановкой задачи или с неполным пониманием некоторых физических законов [46, 67, 127].

Многие числа нельзя представить точно ограниченным числом значащих цифр. Если в вычислениях используется число тг, то оно может быть представлено в виде 3.14, или 3.14159265 или 3.141592653589793, в зависимости от того, какая точность требуется в данном вычислении. В любом случае невозможно представить число п точно, так как оно является иррациональным и не может быть представлено конечным числом знаков. Даже обыкновенные дроби очень часто нельзя представить с помощью конечного числа десятичных знаков, например дробь 1/3 можно представить только в виде периодической дроби.

Часто случается также, что дроби, которые являются конечными в одной системе счисления, становятся бесконечными в другой системе счисления. Например дробь 1/10 явно имеет конечное десятичное представление 0.1, но будучи переведена в двоичную систему счисления, становится бесконечной дробью 0.000110011001100... .

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

Рассмотренный ранее ряд Тейлора для синуса может использоваться для вычисления синуса любого угла х, выраженного в радианах. На практике не возможно использовать бесконечное число всех членов ряда, вычисления ограничиваются пятью, шестью членами ряда, но в любом случае количество членов является конечным числом. Отброшенные члены ряда (а их число бесконечно) вносят некоторую ошибку в результат вычислений. Эта ошибка называется ошибкой ограничения, так как она возникает в результате ограничения бесконечного математического процесса [116].

Устойчивость и обусловленность систем нормальных уравнений число обусловленности

Системы нормальных уравнений (СНУ) метода наименьших квадратов (МНК) появляются почти в каждой области прикладной математики. В некоторых случаях эти системы уравнений непосредственно составляют ту задачу, которую необходимо решать, в других случаях задача сводиться к такой системе. Например, для проведения кривой тренда нестационарного временного ряда наилучшим образом соответствующей экспериментальным данным, приходиться решать систему линейных уравнений, для решения дифференциальных уравнений в частных производных в ряде методов приходиться решать систему алгебраических уравнений. Существует множество других задач, сводящихся к решению систем линейных уравнений.

Если уравнение СНУ имеет вид Ср = Ч и матрица С не вырождена, то СНУ имеет единственное решение [52]

Матрица С является плотной и из-за коррелированности коэффициентов она может быть плохо обусловленной. Решение плохо обусловленной СНУ сильно зависит от ошибок измерения и вычисления элементов матрицы С и вектора Ч1. При плохой обусловленности решение СНУ становиться неустойчивым и малые изменения в С и Ч могут давать сколь угодно большие изменения в оценке вектора коэффициентов р.

Выведем зависимость нормы ошибки оценки р от ошибок в компонентах С и Ч . Для этого нам потребуется понятие нормы матрицы [123, 126, 132].

Существуют различные способы задания нормы матрицы. Определим нормы матриц, согласованные с наиболее частыми употребляемыми векторными нормами: Норма любой квадратной матрицы С называется согласованной с векторной нормой [126], если для любого вектора дг, выполняется

Норма матрицы С называется подчиненной нормой [126], если для любого вектора х выполняется

Норма матрицы, подчиненная векторной норме д:, называется максимальной столбцовой нормой [126] и определяется формулой

Матричная норма, подчиненная векторной норме Ц-хЦ , называется максимальной строчной нормой [126]и определяется формулой где cond (С) = С-1 С - число обусловленности матрицы С. Другие формы представленной формулы (1.34) приведены в [78, ПО]. Величина cond (С) зависит от выбора нормы векторов и матриц. Вычисление числа обусловленности и проблемы, связанные с ней, подробно изложены в [96, 133]. Если используются подчиненные матричные нормы, то нижняя граница числа обусловленности матрицы С равна При cond (С) = 1 матрица С является идеально обусловленной (по отношению к матричной норме ).

Число обусловленности эрмитовой матрицы по отношению к спектральной норме, называется иногда числом обусловленности Тодда, определяется формулой [126, 132] где Л-тах Лпіп- максимальное и минимальное собственное числа матрицы С. При числе обусловленности меньше 10000 матирица считается хорошо обусловленной, при числе обусловленности меньше 1000000 матрица считается средне обусловленной, при значении числа обусловленности, превышающем 1000000 матрица считается плохо обусловленной. Чем больше cond (С), тем хуже обусловлена матрица С. Какую величину cond (С) считать большой, зависит от решаемой задачи (размерности матрицы С, точности решения задачи) и от точности представления чисел в ЭВМ. Например, если используется представление числа с плавающей запятой, то относительная погрешность представления этого числа в этой системе равно машинному эпсилону, обозначаемому идентификатором macheps [22,46, ч.2].

Величина macheps непосредственно связана с относительной погрешностью представления чисел и равна є - 2 і , где / - число разрядов мантиссы. Тогда за верхнюю границу числа обусловленности можно принять: cond (С) (macheps) или даже cond(C) (macheps) [22].

При превышении верхней границы cond (С) решение становится неустойчивым, знаменатель правой части выражения (1.34) может стать сколь угодно близким к нулю, и величина ошибки решения 5 р / р может стать неприемлемо большой. В случае плохой обусловленности решение СНУ даже при малых ошибках исходных данных может очень сильно отличаться от истинного решения.

Формула (1.33) дает оценку сверху [46, ч.2, 126]. Верхняя граница может быть велика, а фактическая ошибка может, тем не менее, быть небольшой. Однако если матрица С с элементами умеренной величины плохо обусловлена, то матрица С" обязательно будет содержать большие элементы и некоторые компоненты вектора р неминуемо будут иметь большую чувствительность к малым ошибкам элементов вектора Р и матрицы С [126].

Малые ошибки при вычислениях матрицы С появляются из-за неизбежных округлений. Например, числа 0.1 и 1/7 в двоичной системе представляются бесконечной дробью, и ошибка из-за конечности разрядности ЭВМ неизбежна.

Чтобы уяснить смысл числа обусловленности, необходимо уточнить представление о «почти вырожденности». Если С - вырожденная матрица, то для некоторых решение р не существует, тогда как для других Ч оно будет неединственным. Если матрица С почти вырождена, то можно ожидать, что малые изменения вСи Ч вызовут очень большие изменения в р. С другой стороны, если С - единичная матрица, то Ч и р - один и тот же вектор. Следовательно, если матрица С близка к единичной, то малые изменения вСи У должны повлечь за собой соответственно и малые изменения в р. Таким образом, число обусловленности выполняет роль коэффициента увеличения относительной ошибки, а также является также мерой близости к вырожденности и его можно рассматривать как величину, обратную к относительному расстоянию от данной матрицы до множества вырожденных матриц. Логарифм числа обусловленности допускает полезную интерпретацию: он приближенно равен числу значащих цифр, теряемых в решении сие темы СР = Ч . Так, если cond (С) = \0 , а машинный эпсилон равен 10 , то лучшее, на что можно рассчитывать, - это приблизительно три верных разряда в компонентах вычисленного решения [57].

В целом число обусловленности cond (С), в отличии от величины определителя det С, является эффективной мерой того, насколько хороша матрица С по отношению к вычислениям при решении СНУ. Например, если 10" р), но в этом случае cond (С) = 1, система очень хорошо обусловлена, хотя ее определитель очень мал. Само же значение определителя не имеет никакого отношения к достоверности вычислений [95], так как, умножив систему уравнений на большое число или, сменив единицу измерения, можно получить сколь угодно большое значение определителя.

Метод последовательного исключения (гаусса)

Одной из задач, наиболее часто встречающихся в научных вычислениях, является решение системы линейных уравнений, при этом обычно число уравнений равно числу неизвестных. Такую систему можно записать в виде где С - заданная квадратная матрица порядка п, Р -заданный вектор-столбец с п компонентами и р-неизвестный вектор-столбец с п компонентами.

Для решения систем линейных уравнений (СЛУ) предложено множество способов. При решении системы линейных уравнений необходимо иметь в виду, что относительная погрешность решения пропорциональна относительным погрешностям матрицы коэффициентов системы и ее правой части, причем константа пропорциональности равна числу обусловленности [53].

Знаменитый метод, называемый формулами Крамера, выражает каждую компоненту решения отношением двух определителей. Если попытаться, пользуясь формулами Крамера, решить систему из 30 уравнений, то потребуется вычислить 31 определитель порядка 30. Если делать это «в лоб», то для решения линейной системы понадобится 31 х 30! х 29 умножений и приблизительно такое же количество сложений. На компьютере с быстродействием 1 миллиард умножений в секунду одна только мультипликативная часть вычислений определителя займет 7 556 414 967 271 268 000 лет [53]. Разумеется, это много больше того времени, которое разумно тратить на задачу подобного типа. В этом примере определители вычислялись наихудшим возможным способом. Существуют гораздо более эффективные способы вычисления определителя. Однако при хорошем выборе метода линейную систему можно решить за меньшее время, которого требует вычисление одного определителя. Все же у формул Крамера есть по крайней мере одно привлекательное свойство: в них компоненты решения вычисляются независимо друг от друга. По этой причине они могут оказаться вполне практичным способом решения некоторых специальных типов систем на параллельных компьютерах [86].

Другой подход, математически привлекательный, но уязвимый в вычислительном отношении является метод прямого обращения матрицы. Уравнение СНУ МНК имеет вид Ср = Ч , а решение ищется в виде

Процедура (2.2) содержит весьма не эффективное в вычислительном отношении обращение матрицы С. Решение (2.2) единственно при полном ранге матрицы С. Если С плохо обусловлена, то малые ошибки округления при вычислениях могут привести к столь большим ошибкам, что оценка р может стать бессмысленной. Однако практически в любом конкретном приложении нет необходимости вычислять матрицу С в явном виде, и крайне не советуется делать это [126, 132]. В качестве крайнего, но показательного примера рассмотрим «систему», состоящую всего из одного уравнения Наилучший способ решения этой «системы» - деление

Использование «обратной матрицы» на ЭВМ с 8 значащими разрядами привело бы к вычислению

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

Очень часто применяемый алгоритм, являющийся реализацией одного из старейших вычислительных методов, методов последовательного исключения неизвестных, называемых обычно именем Гаусса. В конце 40-х годов, вскоре после изобретения электронных вычислительных машин, метод Гаусса одним из первых был проанализирован на предмет его поведения в арифметике конечной разности. Результаты, полученные Джоном фон Нейманом и другими авторами [53], оценивались как пессимистические, отчасти вследствие технической сложности, но также потому, что их подход подчеркивал некоторые худшие аспекты метода. Гауссово исключение утратило популярность. Но примерно около 1960-го года, главным образом благодаря деятельности Дж. Уилкинсона, обнаружилось, что метод представляет собой почти идеальный алгоритм. С этих пор гауссово исключение заняло центральное положение в численном анализе.

Современные исследования, относящиеся к гауссову исключению, вскрыли важность двух идей: необходимость выбора главного элемента и правильной интерпретации ошибок исключения. В основе гауссова исключения - идея приведения системы уравнений общего вида к системе более простой формы, треугольной, которую легче решить. Проиллюстрируем метод Гауссова исключения на примере.

Комбинированный метод решения зада чи и сравнение методов

Рассмотрим задачу нахождения параметров параболической регрессии, имеющей вид: Эта модель линейна относительно вектора коэффициентов айв принципе задача оценивания по СНУ решена. Однако на практике при р 5 возникают трудности из-за плохой обусловленности матрицы СНУ С = Х Х. Чтобы увидеть это, предположим, что значение Xj распределено приблизительно равномерно на отрезке [0, 1]. Тогда при больших п получим Отсюда видно, что матрица Х Х похожа на умноженную левую верхнюю подматрицу Гильберта Н = ЩЛ с элементами Матрица Гильберта является одним из примеров самых плохо обусловленных матриц. Число обусловленности этой матрицы по отношению к спектральной норме асимптотически совпадает с экспонентой cond(C) = е р, где Для примера возьмем уравнение параболической регрессии шестого порядка и вычислим значения у для л: =1, 2, ..., 50. После этого попытаемся для этих 50 пар значений найти уравнение многочлена 6-го порядка, используя обычную конечно-разрядную арифметику ЭВМ. Для всех вычислений использовался тип числа «Extended» имеющий 19-20 десятичных значащих разрядов. Решение СНУ методом Гаусса имеет вид: а0= 36.2019, а,= 0.1655, я2 = 30.0242, аъ= 39999.9982, а4 = -199.9999, а5 = 98.0000, яб = -1.0000. Таким образом, получено относительно удовлетворительное решение, хотя погрешность в определении щ коэффициента составляет около 45%. Теперь повторим процесс решения уравнения для других 50 значений у при х = 31, 32,..., 80. В этом случае имеем: а0 = 86.9419, я, = 62.7741, а2 = 26.9574, аъ = 40000.0774, а4 = -200.0011, а5= 98.0000, а6 = -1.0000. Вариация результатов оказалась больше, чем можно было ожидать, причем у нулевого коэффициента даже изменился знак.

Далее повторим процесс решения уравнения для значений при =51, 52,..., 100. В результате получим следующие оценки коэффициентов: Из приведенных данных следует, что полученные оценки оказались весьма далекими от истинных значений, а погрешности в определении а0 и щ коэффициентов составляют несколько порядков. Причина такого эффекта заключается в сильно отличающихся друг от друга порядках чисел коэффициентов СНУ. Ошибки округления возникают как при подсчете сумм, так и при решении системы уравнений методом исключения. Можно уменьшить разницу между максимальным и минимальным значением в матрице СНУ. Как видно из примера коэффициенты при старших членах вычисляются достаточно точно даже в последнем случае. Так как коэффициенты вычисляются последовательно, начиная со старшего, то для вычисления следующего коэффициента можно заново построить матрицу СНУ для уравнения регрессии, порядок которой будет на единицу меньше начального. Реализации данной идеи содержится в итеративном методе Гаусса. В этом методе на каждом шаге итерации уменьшается значение максимального элемента в матрице СНУ, и по этому повышается точность вычисления последующих коэффициентов. Рассмотрим этот метод для нахождения коэффициентов параболической регрессии. На первом шаге, аналогично классическому методу Гаусса, строится матрица СНУ порядка р и находится значение коэффициента ар. На втором шаге от первоначальных пар чисел (хи Уи) = 1... w, где п- количество точек, по которым идет вычисление, переходим ко второй паре (х2і,у2і). Здесь y2i = уи-архр, х2і = хи. По новым парам (х2і,у2і) строим матрицу СНУ порядка р-1, и находим значение коэффициента ар_х.

Переходим к следующим парам значений (хЗІ,у2і), Уз І = Ун -ар-\Хр \ з/ = хн- Итеративную процедуру можно завершить, когда порядок матрицы СНУ будет третьего порядка, так как в этом случае погрешности округления практически отсутствуют. Но на практике итеративный метод не дает значительного выигрыша по сравнению с классическим методом Гаусса, так как, незначительная погрешность в определении коэффициента ар на первом шаге, вносит большие погрешности в определение всех последующих коэффициентов. Для примера, во втором случае х изменим от 31 до 80. Оценка коэффициента, полученная итеративным способом а6= -1.0000000001, когда точное значение равно 1, а оценка а0= -486.7304, при истинном значении 36. Погрешность равная 1Е-8 %, при определении коэффициента а6, приводит к тому, что погрешность оценки параметра а0 становится равной 1452%, классический метод Гаусса дает в этом случае погрешность равную 1453%.

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