Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ НА ВОПРОСЫ ПО ИНФЕ.doc
Скачиваний:
25
Добавлен:
23.09.2019
Размер:
2.02 Mб
Скачать

40.Решение системы линейных алгебраических уравнений методом вращения

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

Пусть с1 и s1 – некоторые отличные от нуля числа. Умножим первое уравнение исходной системы (1) на с1, второе на s1 и сложим их; полученным уравнением заменим первое уравнение системы. Затем первое уравнение исходной системы умножаем на –s1, второе – на c1 и результатом их сложения заменим второе уравнение. Таким образом, первые два уравнения (1) заменяются уравнениями

Отсюда .

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

В результате преобразований получим систему

где

Далее первое уравнение системы заменяется новым, полученным сложением результатов умножения первого и третьего уравнений соотведлтственно на

а третье – уравнением, полученным при сложении результатов умножения тех же уравнений соответственно на –s2 и с2. Получим сис

где

Выполнив преобразование m-1 раз, придем к системе

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

Далее по этому же алгоритму преобразуется матрица

и т.д.

В результате m-1 этапов прямого хода система будет приведена к треугольному виду.

Нахождение неизвестных не отличается от обратного хода метода Гаусса.

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

41.Решение системы линейных уравнений методом факторизации матрицы

Трехдиагональная линейная система уравнений может быть записана в следующем виде:

ai*ui-1-bi*ui+ci*ui+1+fi=0,

где 0<=i<Na0=cN-1=0u - искомое решение.

Матрица этой системы состоит из главной диагонали (с коэффициентами -bi) и примыкающих к ней сверху и снизу диагоналей (соответственно ci и ai).

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

Алгоритм Томаса

Решение ищется в виде:

ui-1=beti*ui+gami

В этом случае для bet и gam получаются рекуррентные формулы:

beti+1=ci*fi, gami+1=(fi+ai*gami)*fi,     fi=1/(bi-ai*beti);     bet0=gam0=0.

По этим формулам вспомогательные массивы вычисляются для i от 1 до N, затем находится uN-1=gamN, а затем при известных вспомогательных массивах вычисляются все значения u.

Алгоритм принципиально не может иметь ведущего элемента, и есть вероятность того, что он не сойдется даже для несингулярной матрицы. Для этого в программе, реализующей прогонку, необходимо контролировать значения fi. Еще два замечания: длины рекуррентных цепочек порядка N, поэтому при экспоненциальном накоплении погрешностей (что происходит при преобладании значений |beti|>1) прогонка практически обязательно разойдется. Второе: алгоритм сохраняет исходные значения коэффициентов. Доказано, что для устойчивой работы алгоритма Томаса достаточно диагонального преобладания, однако, во многих случаях он сходится и при отсутствии такового.